Рубрики
find \ grep \ поиск

Регулярные выражения

Основное:

точка . - любой один символ
? - любой один символ
* - любое кол-во символов
а* - a, ab, abc и aecjejich
^ - начало строки
$ - конец строки
^а - Любое «а», находящееся в начале строки
*а$ - Любое «а», находящееся в конце строки
а.с - Трехсимвольные строки, начинающиеся с «а» и заканчивающиеся на «с»

[] - диапазон 
[^a] - прикол  в таких скобках с "^" все что угодно только не "a"
[^0-9]
[^[:alnun:]]
[bcf]at - bat, cat или fat
[a-d]at - aat, bat, cat, dat, но не Aat, Bat и т. д.
[A-D]at - Aat, Bat, Cat и Dat, но не aat, bat и т. д.
1[3-5]7 - 137,147 и 157
[0-9]    [[:digit:]] \d \D
[a-z]
[A-Z]
[a-zA-Z0-9]
[[:alnun:]]  \w  \W
[[:space:]]  \s  \S


d{n,m} - квантификатор 
{} -  последовательность
touch {6,7,8}.txt - последовательно создаст файлы 6.txt, 7.txt, 8.txt
grep -E  '[0-9]{1,3}'

\tHello	- Символ табуляции, предшествующий слову hello
\[tT][xX][Tt] - .txt, .TXT, .TxT или другие сочетания на основе изменения регистра
\n - новая строка
\r - символ возврата

Примеры:

!!! Используйте grep -E тогда можно будет использовать нормально регулярные выражения
grep -E "[192]+\.[0-9]+\.[0-9]+\.[0-9]"
ifconfig | grep -E "[192]+\.[0-9]+\.[0-9]+\.[0-9]"
ip a s | grep -E "inet [192]+\.[168]"
ip a s | grep -E "[192]+\.[0-9]+\.[0-9]+\.[0-9]"
ifconfig | grep -E "[192]+\.[0-9]+\.[0-9]+\.[0-9]"
ip a s | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
ifconfig | grep -E "(^|[[:space:]])[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}($|[[:space:]])"

grep -E "что" "Где" - искать что в файле 
grep -Er "что" *  - искать что во всех файлах и каталогах
grep -Eri "что" "Где" - искать что во всех файла и каталогах игнорируя регистр
grep -Eriv "что" "Где" - показать все файлы где нет что