Изучаем Bash: Поиск файлов и содержимого при помощи команды grep
Команда grep - универсальная команда как для поиска файла по содержанию, так и для содержимого в нем. Таже имеется поддержка вывода строк, для найденного фрагмента содержимого, который вы и искали.
Команда grep
Синтаксис команды grep следующий:
grep -[опция] [искомое выражение] [файл или директория для поиска]
Доступные опции:
- -r - поиск рекурсивно по всем файлам в указанной директории;
- -l - выводит только те файлы, в которых найдено искомое значение. Если в файле есть несколько таких строк, то имя файла выводится только один раз;
- -c - выводит количество строк с искомым значением;
- -n - добаляет номер найденной строкчки;
- -i - игнорирует регистр при поиске;
- -h - не выводит имя файла при поиске по нескольким файлам.
Итак, давайте рассмотрим это на практике.
Допустим, мы хотим найти текстовый файл, с содержаниме "я это ищу". Скрипт выглядет так:
#!/bin/sh
grep -rn я это ищу /home/maxim/
При нахождении такого содержимого, терминал напишет следующее:
/home/maxim/xxx.txt:5:я это ищу
"я это ищу" найдено в файле /home/maxim/xxx.txt, на 5 строчке.
Вариаций можно проделывать много, я рассмотрел самое простое.
пожелани и вопросы - приветствуются ;)
а как сортировать то?