Команда grep
За допомогою команди grep ви можете поглибити свої пошуки та пошукати відповідність тексту всередині файлів.Команда grep - це дуже потужна команда з досить складними функціями, такими як установка (або ігнорування) чутливості до регістру клавіатури, збіг лише цілих слів і т. д. Про цю команду було написано цілі книги. Але більшість із нас зазвичай застосовують grep у найпростішій формі, коли в заданій множині файлів шукається конкретне слово або фраза.
Наприклад, для пошуку у вашій папці Документи (Documents) всіх файлів, що містять слово блок живлення на ASUS N55S, можна ввести таку команду:
Ви повинні пам'ятати про символ
з попереднього розділу, присвяченого команді cp; він означає вашу домашню папку. В даному випадку його застосування скорочує необхідні дії на крок, оскільки немає необхідності використовувати команду cd для переходу до вашої домашньої папки. Натомість, помістивши знак
перед ім'ям файлу або папки, ви повідомляєте Ubuntu про початкову точку відносного шляху.
Отже, якщо ваше ім'я користувача - fred, рядок
/Документи/* посилатиметься на всі документи в папці /home/fred/Документи.
Таким чином, попередня команда викликає команду grep, змушуючи її шукати слово invoice (накладна) у всіх файлах заданої папки, а потім виводить на екран ті файли, в яких слово знайдено. Для ілюстрації наведено далі команду, яку можна ввести прямо зараз:
У цій команді заданий аргумент –r для пошуку в папці usr/share/doc та всіх вкладених у неї папок будь-яких файлів зі словом videos у їхньому вмісті. (Аргумент названий –r, тому що програмісти застосовують слово рекурсивне для опису завдання, що продовжує виконання при переході на нижчі рівні, як у даному випадку, допапок усередині папок, які знаходяться теж усередині папок, і т. д.).
Якщо вам не цікавий регістр рядка пошуку, можна використати аргумент –i для завдання пошуку нечутливого до регістру клавіатури, який поверне більше результатів (але виконуватиметься довше):
Як і у випадку команди more, ви можете використовувати команду grep у поєднанні з каналом. Наприклад, для обмеження виведення команди ls та відображення тільки певних файлів з вашої домашньої папки, скажімо, що містять в імені підрядок Do, можна ввести таку команду:
В результаті будуть виведені принаймні ваші папки Documents і а також будь-які створені вами та відповідні заданому зразку.