Téměř všichni správci souborů pro Linux jako Nemo a Thunar ve výchozím nastavení poskytuje možnost vyhledávat soubory. Ale pokud chcete hledat řetězec v obsahu souboru pomocí správce souborů, většina z nich vám to nedovolí.
V tomto článku proberu různé způsoby, které můžete použít v jakékoli distribuci Linuxu k nalezení všech souborů obsahujících konkrétní textové řetězce nebo slova rekurzivním procházením všech podadresářů.
Na této stránce
- Vyhledejte konkrétní text v systému Linux pomocí nástroje Catfish GUI Tool
- Vyhledejte konkrétní text v systému Linux pomocí příkazu Grep
- Vyhledejte konkrétní text v Linuxu pomocí MC (Midnight Commander)
Vyhledejte konkrétní text v Linuxu pomocí nástroje Catfish GUI Tool
Začnu tím nejjednodušším způsobem, který může fungovat pro všechny, včetně začátečníků až po pokročilé uživatele Linuxu. Sumec je jednoduchý a lehký nástroj pro vyhledávání souborů založený na grafickém uživatelském rozhraní pro stolní počítače se systémem Linux. Spolu s vyhledáváním souborů ve vašem systému jej můžete také použít k nalezení všech souborů, které obsahují určité slovo.
[ Také by se vám mohlo líbit:Jak najít soubory založené na časovém razítku v Linuxu ]
Nainstalujte si Catfish Search Tool na Linux
Sumec balíček je již dostupný v primárních úložištích Debianu a Ubuntu. Pokud tedy používáte distribuce Debian nebo Ubuntu, můžete je jednoduše nainstalovat spuštěním příkazu:
$ sudo apt install catfish [On Debian/Ubuntu & Mint]
V jiných distribucích Linuxu jej můžete nainstalovat z výchozích repozitářů pomocí správce balíčků.
$ sudo yum install catfish [On CentOS/RHEL 7] $ sudo dnf install catfish [On CentOS/RHEL 8 & Fedora] $ sudo pacman -S catfish [On Arch Linux] $ sudo pkg_add -v catfish [On FreeBSD]
Pokud balíček není k dispozici, můžete si stáhnout soubor nejnovější verze, rozbalit stažený soubor tar.bz2 a spustit následující příkaz:
$ sudo python3 setup.py install
Vyhledat obsah souboru pomocí Catfish
Po instalaci stačí povolit „Prohledat obsah souboru “, vyberte adresáře z rozbalovací nabídky vlevo nahoře a zadejte text, který chcete vyhledat. Zobrazí seznam všech souborů obsahujících text spolu s velikostí a umístěním souboru.
Můžete také použít filtr typu souboru a upraveného data z levého panelu ke zmenšení rozsahu hledání. Můžete dokonce přidat cestu k adresáři, kde nechcete hledat.
Vyhledejte konkrétní text v Linuxu pomocí příkazu Grep
Vedle GUI způsobem, grep je jedním z oblíbených nástrojů příkazového řádku, který lze použít k vyhledávání uvnitř obsahu souboru. Protože téměř všechny operační systémy podobné unixu se dodávají grep ve výchozím nastavení jej nemusíte instalovat.
Vyhledat konkrétní text v souborech
Chcete-li nyní vyhledat a najít všechny soubory pro daný textový řetězec v terminálu Linux, můžete spustit následující příkaz. Zde je '-r'
nebo '-R'
flag rekurzivně prohledává všechny podadresáře v zadaném adresáři.
$ grep -r “linuxshelltips” /home/sarvottam/
Najděte názvy souborů, které obsahují daný řetězec
Pokud chcete tisknout pouze názvy souborů a skrýt text z výstupu, můžete použít '-l'
vlajka.
$ grep -rl “linuxshelltips” /home/sarvottam/
Tisk názvů souborů a čísel řádků, které obsahují daný řetězec
Kromě toho můžete také vyladit výstup pomocí následujících možností dostupných pro grep :
'i'
pro nerozlišování velkých a malých písmen.'n'
vytisknout číslo řádku.'w'
aby odpovídalo celému slovu.
$ sudo grep -rnwi “linuxshelltips” /home/sarvottam/
Za zmínku také stojí, že pokud prohledáváte adresáře, které vyžadují oprávnění root, musíte použít příkaz sudo.
Vyhledejte konkrétní text v konkrétních typech souborů
Chcete-li dále omezit rozsah vyhledávání, můžete také konkrétně uvést typ souboru a adresářů, které se mají hledat pouze při vyhledávání. “--include”
, “--exclude”
a “--exclude-dir”
jsou dostupné možnosti pro přidání filtru typu souboru a adresáře.
$ grep --include=\*.txt --exclude=\*.{java,js} --exclude-dir=\bin -rnwi "linuxshelltips" /home/sarvottam/
Vyhledat konkrétní text v Linuxu pomocí MC (Midnight Commander)
Pokud žijete v terminálu a přesto chcete prohledávat text pomocí GUI, můžete také vyzkoušet nástroj správce souborů založený na terminálovém uživatelském rozhraní (TUI), mc (půlnoční velitel ) – je vizuální správce souborů, který se používá k vyhledávání souborů.
Nainstalujte Midnight Commander na Linux
Půlnoční velitel je k dispozici pro instalaci z výchozích repozitářů ve většině distribucí Linuxu.
$ sudo apt install mc [On Debian/Ubuntu & Mint] $ sudo yum install mc [On CentOS/RHEL 7] $ sudo dnf install mc [On CentOS/RHEL 8 & Fedora] $ sudo pacman -S mc [On Arch Linux] $ sudo pkg_add -v mc [On FreeBSD]
Prohledejte obsah souboru pomocí Midnigh Commander
Uvnitř terminálu mc poskytuje vizuální reprezentaci souborového systému, ve kterém se můžete pohybovat buď pomocí klávesnice nebo myši. Chcete-li prohledat obsah souboru, můžete otevřít vyhledávací dialog pomocí ALT+SHIFT+?
a zadejte text do “Content:”
sekce.
Jak můžete vidět na obrázku výše, můžete také použít filtry, jako je ignorovat velká a malá písmena, celá slova a regulární výraz, a to pouhým zaškrtnutím a zrušením zaškrtnutí.
Závěr
Všechny výše uvedené aplikace jsou přátelské pro začátečníky, volně použitelné a open source pro přidání vlastních vylepšení. Případně můžete také vyzkoušet další bezplatné nástroje, jako je Ack, The Silver Searcher, Ripgrep a příkaz find.