Chcete najít soubor, jehož obsahem je konkrétní text?

Panenka s lupou

Někteří se mě ptali na funkčnost, kterou mají nejnovější verze systému Microsoft Windows, ve které můžete pomocí svého vyhledávače najít, nejen soubory s určitým názvem, ale můžete také zahrnout text k vyhledání soubory, které obsahují takový text, například PDF, dokumenty Microsoft Office, textové soubory .txt atd. Měli byste vědět, že ve své distribuci GNU / Linux toho můžete udělat a ještě mnohem více.

Již jsme provedli malé výukové programy v LxA příkazů, jako je find, whereis, locate atd. Nyní vám řekneme způsob, jak znovu vytvořit tuto funkci, o které jsem hovořil v prvním odstavci z vaší konzoly. Jak říkám, Linux je extrémně flexibilní a má různé nástroje k hledání věcí, zde vám ukážeme některé z různých způsobů, které můžete použít k vyhledávání souborů, ve kterých je nalezen určitý text nebo řetězec: Chcete-li vyhledejte slovo nebo řetězec v souborech adresáře můžete použít:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

V předchozím příkladu bychom hledali slovo „ahoj“ v adresáři / home ve všech existujících souborech. V prvním případě s volbou -s se provede nerekurzivní vyhledávání, zatímco s -R se stane rekurzivním, takže pokud jsou uvnitř podadresáře, bude tam také hledat ... Ale pozor, to by prohledalo celý obsah s tímto řetězcem «ahoj", Pokud tedy existuje fráze nebo slovo jako "ahoj", považovalo by to také za platné a ukázalo soubory, které jej obsahují, to znamená, že toto slovo nehledá konkrétním způsobem. Pro upřesnění můžete použít třetí možnost.

Nezapomeňte, že bude vyhledávat velká a malá písmena, takže předchozí příklady budou ignorovat věci jako Hello, HELLO, holA atd. Chcete-li hledat a ignorovat velká a malá písmena, pak můžete použít volbu -i.

Představte si, že chcete hledat obráceně, tedy všechny ty soubory, kde nezahrnujte řetězec ani slovo charakteristický. Mohl bys? Pravda je, že ano, například:

grep -Rlv hola /home/*

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

V prvním příkladu se zobrazí celý seznam souborů, které neobsahují slovo „ahoj“, zatímco ve druhém případě by to bylo stejné, ale nalezené soubory jsou vyloučeny hostováno v / home / Desktop… Mimochodem, tuto možnost –exclude-dir = lze použít také v prvních příkladech…


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   James Vigo řekl

    Grazas per isto.