Windows Tips & News

Najděte soubory obsahující konkrétní text v Linuxu

click fraud protection

Linux, bez ohledu na distribuci, kterou používáte, přichází s řadou nástrojů GUI, které umožňují vyhledávání souborů. Mnoho moderních správců souborů podporuje vyhledávání souborů přímo v seznamu souborů. Existuje však řada situací, kdy potřebujete konzolu použít, například během relace SSH nebo když se X server nespustí. Zde je návod, jak pomocí terminálu rychle najít soubory obsahující konkrétní text.

Pokud umíte používat GUI, hledání souborů není problém. V mém oblíbeném desktopovém prostředí XFCE umožňuje správce souborů Thunar vyhledávání souborů zadáním názvu souboru přímo do seznamu souborů.

Žádný ze správců souborů, které jsem zkoušel, však neumožňuje vyhledávání obsahu souborů.

Chcete-li obejít toto omezení při práci v relaci GUI, můžete použít Сatfish. Сatfish je oblíbený vyhledávací nástroj. Umožňuje vyhledávání obsahu souboru. Musíte kliknout na ikonu ozubeného kola a povolit možnost Prohledejte obsah souboru.

Pokud však jde o terminál, nemůžete použít žádný grafický nástroj. Také považuji Catfish za neužitečný a dávám přednost klasickým konzolovým nástrojům. Zde jsou metody a nástroje, které používám.

Chcete-li najít soubory obsahující konkrétní text v Linuxu, Udělej následující.

  1. Otevřete svou oblíbenou terminálovou aplikaci. Terminál XFCE4 je moje osobní preference.
  2. Zadejte následující příkaz:
    find ./ -type f -exec grep -l "text k nalezení" {} \;
  3. Tím se vytvoří seznam souborů, který obsahuje požadovanou textovou část.

Příkaz find vyhledá soubory začínající v aktuálním adresáři "./". Místo toho můžete zadat požadovanou cestu.

Možnost - typ f říká, že má hledat pouze soubory a vyloučit adresáře. Můžete také nastavit, aby vyhledával pouze určitý typ souboru přidáním možnosti takto:
find ./ -type f -iname "*.txt" -exec grep -l "text k nalezení" {} \;

Podívejte se na následující snímek obrazovky:

The -exec Volba zavolá nástroj grep pro každý z odpovídajících souborů, aby zkontroloval jejich obsah. Pokud je text v souboru nalezen, jeho název bude přidán do výstupu, díky -l možnost.

Alternativy

K výše popsaným metodám existují alternativy. Za prvé, můžete použít pouze grep nářadí. Zkuste následující příkaz:

grep -iRl "text k nalezení" ./

  • -i znamená ignorovat malá a velká písmena.
  • -R znamená rekurzivní zpracování souborů.
  • -l znamená "zobrazit název souboru, nikoli samotný výsledek".

Jak vidíte, tato metoda je méně flexibilní než nalézt příkaz.

Půlnoční velitel

Další metodou, kterou často používám, je Midnight Commander (mc), aplikace správce souborů konzoly. Na rozdíl od find nebo grep není mc ve výchozím nastavení součástí všech linuxových distribucí, které jsem zkoušel. Možná jej budete muset nainstalovat sami.

Chcete-li pomocí Midnight Commander najít soubory obsahující určitý text, spusťte aplikaci a stiskněte na klávesnici následující sekvenci:
Alt + Posun + ?
Tím se otevře vyhledávací dialog.

Vyplňte část "Název souboru:". Můžete zadat něco jako "*.txt" pro vyhledávání textu pouze v textových souborech.

Nyní vyplňte Obsah: krabice. Zadejte text, který soubory obsahují, a stiskněte klávesu Enter.

Najde všechny soubory, které odpovídají kritériím.

A je to.

Zakažte vyhledávání na webu na hlavním panelu ve Windows 10 verze 2004

Zakažte vyhledávání na webu na hlavním panelu ve Windows 10 verze 2004

Jak zakázat vyhledávání na webu na hlavním panelu v systému Windows 10 verze 2004Windows 10 má na...

Přečtěte si více

Jak vytvořit zástupce pro přímé otevření ovládacího tlačítka Nastavení

Jak vytvořit zástupce pro přímé otevření ovládacího tlačítka Nastavení

Zanechte odpověďRád bych vám nabídl další užitečný způsob, jak otevřít ovládací tlačítko Nastaven...

Přečtěte si více

Funkce Přečíst později se poprvé objevila na Kanárech

Funkce Přečíst později se poprvé objevila na Kanárech

DOPORUČUJEME: Kliknutím sem opravíte problémy se systémem Windows a optimalizujete výkon systémuJ...

Přečtěte si více