Windows Tips & News

Знайдіть файли, що містять певний текст у Linux

Linux, незалежно від того, який дистрибутив ви використовуєте, постачається з низкою інструментів GUI, які дозволяють шукати файли. Багато сучасних файлових менеджерів підтримують пошук файлів прямо в списку файлів. Однак існує ряд ситуацій, коли вам потрібно використовувати консоль, наприклад, під час сеансу SSH або коли X-сервер не запускається. Ось як можна швидко знайти файли, що містять певний текст, за допомогою терміналу.

Якщо ви можете використовувати графічний інтерфейс, пошук файлів не є проблемою. У моєму улюбленому середовищі робочого столу XFCE файловий менеджер Thunar дозволяє шукати файли, вводячи назву файлу безпосередньо у списку файлів.

Однак жоден із файлових менеджерів, які я пробував, не дозволяє шукати вміст файлів.

Щоб обійти це обмеження під час роботи в сесії GUI, ви можете використовувати Сatfish. Сом - популярний інструмент пошуку. Дозволяє шукати вміст файлу. Вам потрібно натиснути на значок шестірні та включити опцію Пошук у вмісті файлу.

Однак, коли справа доходить до терміналу, ви не можете використовувати будь-який графічний інструмент. Крім того, я вважаю, що Catfish не є корисним і віддаю перевагу класичним консольним інструментам перед ним. Ось методи та інструменти, які я використовую.

Щоб знайти файли, що містять певний текст у Linux, виконайте наступне.

  1. Відкрийте свою улюблену програму терміналу. термінал XFCE4 це мої особисті переваги.
  2. Введіть таку команду:
    знайти ./ -type f -exec grep -l "текст для пошуку" {} \;
  3. Це створить список файлів, який містить необхідну частину тексту.

Команда find шукатиме файли, починаючи з поточного каталогу "./". Натомість можна вказати потрібний шлях.

Варіант -тип f каже йому шукати лише файли та виключати каталоги. Крім того, ви можете зробити так, щоб він шукав лише файл певного типу, додавши параметр таким чином:
знайти ./ -type f -iname "*.txt" -exec grep -l "текст для пошуку" {} \;

Дивіться наступний знімок екрана:

The -exec Параметр викликає інструмент grep для кожного з відповідних файлів, щоб перевірити їх вміст. Якщо текст знайдено у файлі, його ім’я буде додано до виводу завдяки -l варіант.

Альтернативи

Існують альтернативи описаним вище методам. Перш за все, ви можете використовувати тільки grep інструмент. Спробуйте виконати таку команду:

grep -iRl "текст для пошуку" ./

  • -i означає ігнорувати регістр тексту.
  • -R означає рекурсивну обробку файлів.
  • -l означає "показати ім'я файлу, а не сам результат".

Як бачите, цей метод менш гнучкий, ніж метод знайти команда.

Командир опівночі

Інший метод, який я часто використовую, — Midnight Commander (mc), консольний додаток для керування файлами. На відміну від find або grep, mc не включений за замовчуванням у всі дистрибутиви Linux, які я пробував. Можливо, вам знадобиться встановити його самостійно.

Щоб знайти файли, що містять певний текст за допомогою Midnight Commander, запустіть програму та натисніть на клавіатурі наступну послідовність:
Альт + Зміна + ?
Це відкриє діалогове вікно пошуку.

Заповніть розділ «Назва файлу:». Ви можете вказати щось на кшталт "*.txt", щоб шукати текст лише в текстових файлах.

Тепер заповніть Зміст: коробка. Введіть текст, який містять файли, і натисніть клавішу Enter.

Він знайде всі файли, які відповідають критеріям.

Це воно.

Microsoft удосконалила Cortana, додала фільтри для результатів пошуку ПК

Microsoft удосконалила Cortana, додала фільтри для результатів пошуку ПК

Корпорація Майкрософт активно працює над покращенням нових можливостей Windows 10, щоб зробити її...

Читати далі

Додайте класичне меню персоналізації в Windows 10 build 10074

Додайте класичне меню персоналізації в Windows 10 build 10074

Як ви вже знаєте, Microsoft відмовився від класичного зовнішнього вигляду (персоналізації) і інте...

Читати далі

Корпорація Майкрософт додає функцію визначення на всі веб-сторінки в Edge Canary

Корпорація Майкрософт додає функцію визначення на всі веб-сторінки в Edge Canary

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність систе...

Читати далі