понедельник, 19 ноября 2012 г.

grep - ее простое и продвинутое использование (+ регулярные выражения)

1). когда нужно дополнительно исполнить команду
grep `whoami` file
когда нужно значение переменной 
grep "$HOME" file

2). использование регулярных выражений
grep -e 'e[a]' file (следование e перед a)
grep -e 'e[^a]' file (следование e перед любым символом не a)

                                                    пояснение метасимволов
совпадение с символом
.                 - лубой 1 символ
[...]            - любой символ из перечисленных символов в скобках (примеры [a-f], [aewsd], [a-fA-F0-5])
[^...]           - любая последовательность из не перечисленных символов в скобках (пример, '..[^24680]'
)
\char          - экранировка спецсимволов (например \$)
совпадение с позицией
^               - начало линии
$               - конец линии
\<              - начало слова
\>              - конец слова
квантификаторы
?                - опции, считать квантификатором
*                - любой номер (в т.ч. 0), общая маска
+                - 1 или больше предшествующих выражений
{N}            - совпадение ровно N раз
{N,}           - совпадение хотя бы N раз
{min,max}  - совпадает в промежутке между этими значениями
Остальные
|                 - совпадает любое из выражений
-                - диапазон
(...)            - используется для указания пределов изменения
\1, \2, ...    - совпадает текст, который встречался в пределах скобок (например, 1-е множество, 2-е множество и т.д.)
\b              - група символов типично выступает концом слова (например, пробел, период и т.д.)
\B             - альтернатива "\\" или обратного слеша, испльзуется для лучшего прочтения
\w            - любой символ "слова" (например, символ, номер, символ подчеркивания)
\W            - любой символ не используемый в "слове" (например, не символ, не номер, не символ подчеркивания)
\`              - старт буфера посланный в grep
\'              - конец буфера посланный в grep