Předpokládejme, že hledáte soubor v Linuxu, ale zapomněli jste jeho jméno. Pamatujete si pouze obsah souboru. Jak v tomto případě soubor najdete? Existuje několik užitečných metod, které vám pomohou najít soubor obsahující konkrétní text (nebo řetězec) v Linuxu. Řetězec musí být specifikován uživatelem. Pojďme se tedy podívat na metody:
Metody pro vyhledání všech souborů obsahujících konkrétní text (řetězec) v systému Linux
Metoda 1: příkaz grep
příkaz grep v Linuxu, který se používá k vyhledávání souborů obsahujících konkrétní text nebo řetězec. Ve výchozím nastavení nám zobrazuje řádky v souborech, které obsahují konkrétní text. Pokud k němu připojíme volbu -l, příkaz nám zobrazí všechny soubory, které obsahují konkrétní text.
Příklad:
Předpokládejme, že máme adresář, který obsahuje dva soubory s názvem soubor1.txt a soubor2.txt.
dijkstra
Obsah souboru 1.txt:
This line contains text.>
Obsah souboru 2.txt:
You should learn Data Structures & Algorithms.>
Nyní použijeme příkaz grep s volbou -l k vyhledání textu v daných souborech umístěných v aktuálním adresáři. Viz následující příklad:

Z výše uvedeného příkladu lze jasně říci, že příkaz grep úspěšně našel daný řetězec v souboru1.txt. V důsledku toho se na obrazovce zobrazil název souboru.
Můžeme také použít volbu -i, abychom řekli grepu, aby ignoroval malá a velká písmena. Podívejte se na následující příklad:

pawandeep rajan
Výše jsme nejprve použili předchozí příkaz, ale daný řetězec je Text. Protože soubor1.txt obsahuje text, nikoli text, není brán v úvahu. Zde se operace vyhledávání provádí s ohledem na případ. Potom jsme použili volbu -i. Výsledkem je, že velikost písmen je ignorována a daný řetězec se shoduje s řetězcem, který obsahuje soubor1.txt. Na obrazovce se tedy zobrazí název souboru.
Další variantou je použití volby -r. Navrhuje grep, aby hledal daný řetězec v aktuálním adresáři a jeho podadresářích rekurzivně. Podívejte se na níže uvedený příklad:

soubor1.txt a soubor2.txt jsou umístěny ve složce souborů, nikoli v aktuálním adresáři, tedy na ploše. Pokud tedy nepoužijeme volbu -r, nebudou nalezeny žádné soubory s odpovídajícími řetězci, protože v aktuálním adresáři neexistují. Ale použili jsme volbu -r a také vynechali názvy souborů. Výsledkem je, že grep hledá odpovídající řetězce nejen v aktuálním adresáři, ale také v jeho podadresářích. Soubor1.txt je tedy nalezen a zobrazen na obrazovce.
Metoda 2: Kombinace příkazu find a grep
nalézt je další užitečný příkaz v Linuxu. Zkombinujeme find s volbou -type f pro vyhledání souborů a volbou -exec pro použití grep na nalezené soubory. Podívejte se na následující příklad:

Je zřejmé, že vyhledávací operace najde soubor1.txt, protože obsahuje odpovídající řetězec. Na obrazovce se tedy zobrazí název souboru.
Metoda 3: Najděte soubory obsahující konkrétní text pomocí mc
Můžeme také vyhledávat soubory pomocí Midnight Commander (mc). Otevřete aplikaci a stiskněte Alt + Shift + ? otevřete dialogové okno Najít soubor. V horní části uvidíte pole Start. Do pole zadejte cestu, kde soubory existují. Poté do pole obsahu zadejte řetězec, který chcete hledat. V našem případě jsme hledali text v adresáři Files:

Níže je jasně vidět, že operace vyhledávání úspěšně našla soubor1.txt, který obsahuje odpovídající řetězec.
třídit hromadu

Metoda 4: příkaz ripgrep
ripgrep (napsaný jako rg) je příkaz, který lze použít jako alternativu k příkazu grep. Implementace je níže:

file1.txt je nalezen, a proto se na obrazovce zobrazí název souboru.
Metoda 5: příkaz potvrzení
Dalším příkazem, který můžeme použít, je příkaz ack. Zde je implementace:

převést řetězec na objekt json
soubor1.txt byl úspěšně nalezen a zobrazen na obrazovce.