Реклама

Команда grep

С помощью команды 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 и а также любые созданные вами и соответствующие заданному образцу.

Реклама

Если вы не нашли ответ в статье, попробуйте поискать его через ПОИСК:

Или посмотрите Содержание сайта:)

Прокомментировать

Пожалуйста, зарегистрируйтесь для обсуждения.

Последние заметки

Популярные заметки

Мой твиттер эфир:)

Реклама
VisitTime.ru — сервис, который превращает запись в понятный и быстрый процесс.
📅 Вы создаёте расписание и правила приёма, а клиенты выбирают удобный слот онлайн, без ожидания и звонков.
🕒 В результате меньше путаницы, больше точных визитов и ровная загрузка на неделю вперёд.
💡 Подходит тем, кто оказывает услуги по времени: мастерам, студиям, кабинетам и небольшим командам.
Начать пользоваться сервисом



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