Команда 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, потому что программисты применяют слово рекурсивная для описания задачи, продолжающей выполнение при переходе на более низкие уровни, как в данном случае, к папкам внутри папок, которые находятся тоже внутри папок, и т. д.).

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

grep -ri videos /usr/share/doc

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

grep -rw videos /usr/share/doc

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

ls ~ | grep Do

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


Опубликовано © Просто Linux | Всё про Линукс, Android и Windows.


Увы, пока нет комментариев :(

Понравилась ИГРА? Возьми КОД, поставь себе на сайт и улучши поведенческие факторы!





Самый лучший хостинг!

лучший хостинг

НАЙТИ НА САЙТЕ

КОМАНДЫ LINUX

РЕПОЗИТОРИИ LINUX

ОБЛАЧНЫЕ СЕРВИСЫ

КОМПЬЮТЕРНЫЕ ТОВАРЫ

КАК ЗАРАБОТАТЬ В СЕТИ?

ВСЕ СТАТЬИ САЙТА

СОВЕТ ДНЯ: Если вы хотите вернуть часть стоимости при покупке в интернет магазине, обязательно воспользуйтесь одним из сервисов кэшбэка:

1. EPN — самый надежный кэшбэк (Aliexpress, OZON, ASOS и BANGGOOD)

2. Алибонус — самый щедрый кэшбэк на Алиэкспресс, возвращают 10%

3. LetyShop — самое большое количество магазинов — 842 магазина!

Что такое кэшбэк читайте в ЭТОЙ СТАТЬЕ…

© Все права сохраняются. Копировать материалы без разрешения автора ЗАПРЕЩАЕТСЯ!