Работа в консоле. Команды bash (grep, find). Работа в консоле. Команды bash (grep, find). Работа в консоле. Команды bash (grep, find).

Работа в консоле. Команды bash (grep, find).

Open in new window

Работа в консоле. Команды bash.

Команда grep

Поиск файлов или строки в файле по шаблону.

grep "шаблон поиска" "file_name"

-r Поиск рекурсивно по всем файлам в указанной директории. Пример:

grep -r webmonstr /home/zdimon

Будет искать и в подкаталогах.

Реверсивный поиск.

grep -r -v test

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

В начале или конце строки.

grep '^t' 1.txt
grep 't$' 1.txt

Только строки с ip:

grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /etc/resolv.conf

-E - extended regular expression (ERE)

Посмотреть строки в окресности искомой.

grep -n -C 1 test 1.txt

Полезные ключи

-n - отображать номера строк.

-w - поиск шаблона как отдельного слова

Полезные комбинации

Найти процесс по порту.

netstat -nlp | grep :80

Найти процесс по имени

ps -afx | grep python

Найти файлы по расширению.

ls | grep '.txt$'

Поиск файлов. Команда find.

Без параметров выводит все файлы и каталоги текущей директории.

find
find .

Фильтры

Одни файлы.

find -type f

По маске имени.

find -type f -name '*.txt'

Без учета регистра.

find -type f -iname '*.txT'

Поиск по нескольким шаблонам.

find -name "*.txt" -or -name "*.dat" -type f

Поиск с исключением файлов по маске.

find -not -name "*.txt" -type f

Опция удаления.

find -name "*.sql" -type f -delete

Удаление по расширению.

find . -name "*.bak" -type f -delete

Поиск в файлах с заданной маской.

find -name "*.txt" -type f | grep -rn test

Поиск файлов по маске.

 find . | grep -e "\.txt$"

Other topics