Поиск текста в файлах

$grep <образец> file

Утилиты поиска фрагментов текста в файлах. Могут ис­пользоваться в качестве фильтров в программных каналах.

Для поиска подстроки в файлах можно использовать самую простую из утилит fgrep(1) (fast grep).

Если подстрока поиска содержит пробелы или знаки табуляции, ее необходимо заключить в кавычки. Если подстрока уже содержит кавычки, их надо экранировать, поместив символ 'V непосредственно перед кавычками:

Если вы хотите сделать поиск нечувствительным к за­главным/строчным символам, используйте ключ -у. Для поиска строк, не содержащих указанную подстроку, ис­пользуется ключ -v.

Утилиты grep(1) и egrep(1) позволяют производить более сложный поиск, например, когда вы не уверены в напи­сании искомого слова, или хотите найти слова, распо­ложенные в определенных местах файла. В этом случае

Посмотреть только начало (первые n строк) или конец (последние n строк) файла можно с помощью утилит head(1) и tail(1), соответственно.

.

$sort [opt] file

Для сортировки строк файла используется утилита sort(1).

Опции:

-r сортирует в обратном порядке

-o <имя файла> сохраняет результат сортировки в выходном файле

-u выводит повторяющие строки только один раз

-d игнорируются не буквы, цифры, пробелы (сортировка по алфавиту)

-f игнорируется регистр

-M сортирует месяцы

-n по числовому коду символа

+ <число> по указоному номеру поля

Например, для сортировки текста в алфавитном порядке необходимо ввести следующую команду:

$ sort -d file >sorted_file

Вы можете указать номер слова строки, по которому необходимо произвести сортировку (точнее, номер поля записи; по умолчанию записью является строка, а поля разделены пробелами). Например, для сортировки строк файла file

Андрей Май

Борис Январь

Владимир Март

по месяцам, можно использовать команду $ sort -M +1 file в результате получим:

Борис Январь

Владимир Март

Андрей Май

Опция -M определяет сортировку по месяцам (не по ал­фавиту), опция +1 указывает, что сортировку необходи­мо проводить по второму полю каждой строки.

Поиск файла

find dir [opt]

Выполняет поиск файла в файловой системе UNIX, на­чиная с каталога dir. Например, для вывода полного имени исполняемого файла командного интерпретатора Bourne shelf введите команду:

$ find / -name sh -print 2>/dev/null

/usr/bin/sh

/usr/xpg4/bin/sh

/sbin/sh

С помощью опции -name указывается имя искомого файла, а с помощью опции -print — действие (вывести полное имя).

С помощью find(1) можно производить поиск файлов по другим критериям, например, размеру, последнему времени модификации и т. д. Например, чтобы найти файлы с именем core (образ процесса, создаваемый при неудачном его завершении и используемый в целях отладки), последнее обращение к которым было, ска­жем, более месяца назад (скорее всего такие файлы не нужны пользователям и только "засоряют" файловую систему), можно задать команду:

$ find / -name core -atim* +30 -print

/u/local/lib/zircon/lib/core

/u/local/etc/httpd/data/zzmaps/core

/home/amd/WORK/novosti/core

/home/amd/WORK/access/core


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: