Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Спецыальные лимволы и grep


Автор: Lelikens 12.12.2005, 01:00
есть строчка:
sprintf(buff,"grep -e '\\.$' -e %s",v);
Не пойму точное значение параметра -e. Знаю что ищет по шаблону, но это не совсем точно.
И не пойму почему \\ и что это значит???
Буду очень благодачерн любой помощи

Автор: comcon1 20.1.2006, 17:05
grep -e ищет по регулярным выражениям. Это такая унифицированая система правил для составление поисковых запросов...

Тема не относится к программированию под Linux. Ищи в других темах "Регулярные выражения".

Автор: Mayk 22.1.2006, 10:14
читать grep(1) ну и regex(7)

Автор: hrayr 8.2.2006, 19:40
И не пойму почему \\ и что это значит???
Буду очень благодачерн любой помощи[/QUOTE]PS: http://forum.vingrad.ru/index.php?showtopic=74056&view=findpost&p=586317.

Так вроде строка приведенного кода на C++.
Код

sprintf(buff,"grep -e '\\.$' -e %s",v);


она записывает в buff содержимое строки "grep -e '\\.$' -e %s" при этом заменяет %s на значение строки v.
В C++ символ \ имеет специалное предназначение при использовании в строках (также при использовании в символьных константах), при помощи этого символа можно получить некоторые невидимые символи, например:
\n - new line
\t - tab

... их не очень много, но я не буду приводить их всех, можно найти в книжках по C++
а для исползования самого символа \ необходимо написать \\.
Что делает grep -e '\.$'? Так ищет строки которые оканчиваются точкой.

Автор: bilbobagginz 9.2.2006, 18:18
насчет что же он ищет... думаю это недоработанное выражение.
потомучто оно ищет
либо строки заканчивающиеся точкой
либо содержащие слово (v).

странное выражение..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)