Искате ли да намерите файл, чието съдържание е специфичен текст?

Кукла с лупа

Някои ме попитаха за функционалност, която имат най-новите версии на Microsoft Windows, в която можете да използвате тяхната търсачка, за да намерите не само файлове с определено име, но можете да включите и текст за намиране файлове, които включват такъв текст, като PDF файлове, документи на Microsoft Office, текстови файлове .txt и др. Е, трябва да знаете, че във вашата GNU / Linux дистрибуция можете да правите това и много повече.

Вече направихме малки уроци в LxA за команди като find, whereis, locate и т.н. Сега ще ви разкажем начин да пресъздадете тази функционалност, за която говорих в първия абзац от вашата конзола. Както казвам, Linux е изключително гъвкав и го има различни инструменти за намиране на неща, тук ще ви покажем някои от различните начини, които можете да използвате за търсене на файлове, в които се намира определен текст или низ: търсене на дума или низ във файловете на директория можете да използвате:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

В предишния пример бихме потърсили думата "здравей" в директорията / home във всички съществуващи файлове. В първия случай с опцията -s се извършва нерекурсивно търсене, докато с -R става рекурсивно, така че ако има поддиректории вътре, той също ще търси там ... Но бъдете внимателни, това ще търси всички съдържание с този низ «здравей», Следователно, ако има фраза или дума като «здравей», тя също би я сметнала за валидна и ще покаже файловете, които съдържат това, тоест не търси тази дума по специфичен начин. За да го направите конкретно, можете да използвате третата опция.

Не забравяйте, че ще прави търсения, чувствителни към малки и големи букви, така че предишните примери ще игнорират неща като Hello, HELLO, holA и т.н. За да направите търси и игнорирай случай, тогава можете да използвате опцията -i.

Представете си, че искате да направите търсене в обратна посока, т.е. всички тези файлове, където не включват низ или дума специфични. Можеш ли? Истината е, че да, например:

grep -Rlv hola /home/*

grep --exclude-dir= /home/Desktop -Rlv /home/*

В първия пример той ще покаже целия списък с файлове, които не съдържат думата „здравей“, докато във втория случай би направил същото, но намерените файлове се изключват хоствано в / home / Desktop ... Между другото, тази опция –exclude-dir = може да се използва и в първите примери ...


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Тиаго Виго каза той

    Grazas per isto.