Щоб знайти файли за їх вмістом у Linux, можна використовувати команду grep. Ось кілька прикладів, як це можна зробити:
Простий пошук тексту в файлах
Якщо ви хочете знайти файли, що містять певний текст, можна використовувати команду grep
разом з параметром -r
(рекурсивно) для пошуку в усіх підкаталогах:
grep -r "пошуковий_текст" /шлях/до/каталогу
Пошук з виводом імен файлів
Щоб вивести тільки імена файлів, які містять шуканий текст, використовуйте параметр -l
:
grep -rl "пошуковий_текст" /шлях/до/каталогу
Ігнорування регістру
Щоб ігнорувати регістр під час пошуку, використовуйте параметр -i
:
grep -ril "пошуковий_текст" /шлях/до/каталогу
Пошук за розширенням файлів
Якщо потрібно обмежити пошук файлами з певним розширенням, можна використовувати --include
:
grep -r --include="*.txt" "пошуковий_текст" /шлях/до/каталогу
Використання команди find
разом з grep
Для більш складного пошуку, можна використовувати команду find для пошуку файлів з певними властивостями, а потім grep
для пошуку вмісту цих файлів:
find /шлях/до/каталогу -type f -name "*.txt" -exec grep -l "пошуковий_текст" {} +
Пошук з вказаною глибиною
Щоб обмежити глибину рекурсивного пошуку, використовуйте параметр --max-depth
:
grep -r --max-depth=2 "пошуковий_текст" /шлях/до/каталогу
Приклад використання ack
або ag
Також можна використовувати інші утиліти, такі як ack
або ag
(The Silver Searcher), які можуть бути швидшими і мають більше функцій:
ack "пошуковий_текст" /шлях/до/каталогу
або
ag "пошуковий_текст" /шлях/до/каталогу
Ці команди допоможуть вам швидко знайти файли за їх вмістом у вашій файловій системі.