Команда grep

С помощью команды grep вы можете углубить свои поиски и поискать соответствие текста внутри файлов. Команда grep - это очень мощная команда с довольно сложными функциями, такими как установка (или игнорирование) чувствительности к регистру клавиатуры, совпадение только целых слов и т. д. Об этой команде были написаны целые книги. Но большинство из нас обычно применяют grep в простейшей форме, когда в заданном множестве файлов ищется конкретное слово или фраза.

Как вернуть часть денег при покупке в интернет магазине? >>>

Например, для поиска в вашей папке Документы (Documents) всех файлов, содержащих слово блок питания на ASUS N55S, можно ввести следующую команду:

grep блок питания на ASUS N55S ~/Документы/*

Вы должны помнить о символе ~ из предыдущего раздела, посвященного команде cp; он обозначает вашу домашнюю папку. В данном случае его применение сокращает необходимые действия на шаг, так как нет необходимости использовать команду cd для перехода в вашу домашнюю папку. Вместо этого, поместив знак ~ перед именем файла или папки, вы сообщаете Ubuntu о начальной точке относительного пути.

Следовательно, если ваше имя пользователя — fred, строка ~/Документы/* будет ссылаться на все документы в папке /home/fred/Документы.

Таким образом, предыдущая команда вызывает команду grep, заставляя ее искать слово invoice (накладная) во всех файлах заданной папки, и затем выводит на экран те файлы, в которых слово найдено. Для иллюстрации далее приведена команда, которую можно ввести прямо сейчас:

grep -r videos /usr/share/doc

В этой команде задан аргумент –r для поиска в папке usr/share/doc и всех вложенных в нее папках любых файлов со словом videos в их содержимом. (Аргумент назван –r, потому что программисты применяют слово рекурсивная для описания задачи, продолжающей выполнение при переходе на более низкие уровни, как в данном случае, к папкам внутри папок, которые находятся тоже внутри папок, и т. д.).

Другая интересная статья:  Backbox Linux для хакера!

Если вам не интересен регистр строки поиска, можно использовать аргумент –i для задания поиска нечувствительного к регистру клавиатуры, который вернет больше результатов (но выполняться будет дольше):

grep -ri videos /usr/share/doc

Если вы хотите получить документы, в которых videos появляется только как отдельное слово, а не как часть других слов, например строки videosettings (видеопараметры), можно применить аргумент –w следующим образом:

grep -rw videos /usr/share/doc

Как и в случае команды more, вы можете использовать команду grep в сочетании с каналом. Например, для ограничения вывода команды ls и отображения только определенных файлов из вашей домашней папки, скажем, содержащих в имени подстроку Do, можно ввести следующую команду:

ls ~ | grep Do

В результате будут выведены, по крайней мере, ваши папки Documents и а также любые созданные вами и соответствующие заданному образцу.

Увы, пока нет комментариев - оставьте свой ;)

КАК ПОКУПАТЬ НА АЛИЭКСПРЕСС НА 7% ДЕШЕВЛЕ? ПРОСТО ПОСТАВЬ ПЛАГИН!