Команда look

Команда look предназначена для вызова одноименной утилиты, осуществляющей разбор текстовых файлов и выводящей строки, начинающиеся с заданных префиксов. Она нередко используется для поиска строк в текстовых файлах в рамках сценариев. В том случае, если имя текстового файла не задано, осуществляется поиск английских слов в системном словаре, расположенном по пути /usr/share/dict/words.

Базовый синтаксис команды выглядит следующим образом:

$ look [параметры] подстрока [имя-файла]

Утилита поддерживает множество параметров, наиболее важными из которых являются параметр -t, позволяющий задать конечный символ и параметр -f, позволяющий игнорировать регистр символов.

Утилита отлично работает с юникодом и может использоваться для поиска строк в русскоязычных текстах.

Примеры использования

Поиск строки, начинающейся со слова

Для поиска строки, начинающейся с заданного слова, в текстовом файле, достаточно использовать утилиту look без каких-либо параметров, передав ей это слово и имя текстового файла:

$ look "Блондинка" Trushkin_Duel_s_nevidimkoy.txt
Блондинка оторвалась от своего учебника, одним взглядом ухватила стоптанные кроссовки Петьки, замученные стиркой Володькины джинсы и лениво приподняла левую руку с золотым браслетиком часов.
Блондинка с презрительной гримаской захлопнула книжку.

По умолчанию утилита учитывает регистр символов. Для того, чтобы осуществлять поиск без учета регистра символов, достаточно использовать параметр -f:

$ look "Эта" Trushkin_Duel_s_nevidimkoy.txt
Эта война началась в урок Мира, 1 сентября…
$ look "эта" Trushkin_Duel_s_nevidimkoy.txt
$ look -f "эта" Trushkin_Duel_s_nevidimkoy.txt
Эта война началась в урок Мира, 1 сентября…

Очевидно, что после использования параметра была выведена аналогичная строка.

Использование конечных символов

Для того, чтобы сократить количество символов переданного слова, используемых для поиска строк в файле, следует использовать параметр -t и указать символ слова, до которого нужно осуществлять поиск.

$ look "Лариса" Trushkin_Duel_s_nevidimkoy.txt
Лариса взяла трубку после четвертого гудка.

$ look -t с "Лариса" Trushkin_Duel_s_nevidimkoy.txt
Ларисины пальцы снова запорхали над клавиатурой.
Лариса взяла трубку после четвертого гудка.

Очевидно, что во втором случае первая строка выведена лишь благодаря указанию конечного символа. Данная функция полезна в случае использования утилиты в рамках сценариев.

Подбор английских слов

Если вы хотите подобрать английское слово, начинающееся с последовательности символов, вы можете передать эту последовательность символов утилите, не указывая имени текстового файла:

$ look Nove
November
November's
Novembers
novel
novel's
novelette
novelette's
novelettes
novelist
novelist's
novelists
novella
novella's
novellas
novelle
novels
novelties
novelty
novelty's

Как было сказано выше, эти слова берутся из файла системного словаря, расположенного по пути /usr/share/dict/words.