Někdy se uživatelé setkávají s potřebou vyhledávat určité informace ve všech souborech. Konfigurační dokumenty nebo jiná volumetrická data často obsahují velký počet řádků, takže není možné ručně vyhledat potřebná data. Pak jeden z vestavěných příkazů pro operační systémy Linux přijde na záchranu, která vám umožní najít linky během několika sekund.
Obsah
Pokud jde o rozdíly mezi distribucemi Linuxu, v tomto případě nehrají žádnou roli, protože příkaz grep, který vás zajímá, je ve většině sestav standardně k dispozici a používá se přesně stejným způsobem. Dnes bychom rádi diskutovali nejen o efektu grep , ale také o hlavních argumentech, které mohou výrazně zjednodušit vyhledávací proceduru.
Viz také: Hledáte soubory v Linuxu
Všechny další akce budou prováděny prostřednictvím standardní konzoly, také vám umožní otevírat soubory pouze zadáním úplné cesty k nim, nebo pokud je terminál spuštěn z požadovaného adresáře. Můžete zjistit rodičovskou složku souboru a přejít na ni v konzole takto:
cd /home/user/folder
, kde uživatel je uživatelské jméno a složka je název složky. Pokud chcete zobrazit celý obsah, použijte příkaz cat + название файла
. Podrobné pokyny k práci s tímto týmem naleznete v našem dalším článku na níže uvedeném odkazu.
Další podrobnosti: Příklady příkazů pro Linux
Díky výše uvedeným krokům můžete použít grep , který je v pravém adresáři, aniž byste určili úplnou cestu k souboru.
Než začneme uvažovat o všech dostupných argumentech, je důležité poznamenat obvyklé vyhledávání podle obsahu. Bude to užitečné v těch chvílích, kdy potřebujete najít jednoduchou shodu podle hodnoty a zobrazit všechny příslušné řádky.
grep word testfile
, kde slovo je informace, kterou hledáte, a testfile je název souboru. Při hledání mimo složku určete úplnou cestu jako v /home/user/folder/filename
. Po zadání příkazu stiskněte klávesu Enter . grep -i "word" testfile
. Někdy uživatelé musí najít nejen přesné shody v řádcích, ale také zjistit informace, které po nich následují, například při hlášení konkrétní chyby. Správným řešením je pak použít atributy. Zadejte grep -A3 "word" testfile
v konzole, aby zahrnoval následující tři řádky ve výsledku po zápase. Můžete psát -A4
, pak budou zachyceny čtyři řádky, neexistují žádná omezení.
Pokud namísto -A
použijete argument -B + количество строк
, výsledkem jsou data, která jsou až do bodu vstupu.
Argument -С
, zase zachycuje řádky kolem klíčového slova.
Níže naleznete příklady přiřazení zadaných argumentů. Vezměte prosím na vědomí, že musíte vzít v úvahu případ a uvést dvojité uvozovky.
grep -B3 "word" testfile
grep -C3 "word" testfile
Potřeba definovat klíčové slovo, které je na začátku nebo na konci řádku, se nejčastěji vyskytuje během práce s konfiguračními soubory, kde každý řádek je zodpovědný za jeden parametr. Chcete-li vidět přesný záznam na začátku, musíte zaregistrovat grep "^word" testfile
soubor grep "^word" testfile
. Za použití této volby odpovídá pouze znak ^ .
Hledání obsahu na konci řádků se děje přibližně stejným způsobem, pouze v uvozovkách byste měli přidat znak $ a příkaz bude vypadat takto: grep "word$" testfile
.
Při hledání požadovaných hodnot nemá uživatel vždy informace o přesném slově přítomném v řetězci. Pak lze vyhledávací proceduru provést pomocí čísel, což někdy úkol značně zjednodušuje. Je nutné použít příkaz ve formě grep "[0-7]" testfile
, kde "[0-7]" je rozsah hodnot a testfile je název souboru, který má být skenován.
Skenování všech objektů ve stejné složce se nazývá rekurzivní. Uživatel musí použít pouze jeden argument, který analyzuje všechny soubory ve složce a zobrazí příslušné řádky a jejich umístění. Budete muset zadat grep -r "word" /home/user/folder
, kde / home / user / folder je cesta k adresáři pro skenování.
Modrá zobrazí umístění pro ukládání souborů, a pokud chcete získat řádky bez těchto informací, přiřaďte další argument, aby příkaz získal tuto grep -h -r "word" + путь к папке
.
Na začátku článku jsme již hovořili o obvyklém hledání slov. S touto metodou se však ve výsledcích zobrazí další kombinace. Naleznete například slovo Uživatel , ale příkaz bude také zobrazovat Uživatel 123 , Uživatel hesla a další zápasy, pokud nějaké existují. Chcete-li se tomuto výsledku vyhnout, přiřaďte argument -w
( grep -w "word" + имя файла или его расположение
).
Tato volba je také provedena, když potřebujete vyhledat několik přesných klíčových slov najednou. V tomto případě zadejte egrep -w 'word1|word2' testifile
. Vezměte prosím na vědomí, že v tomto případě je písmeno gr přidáno do grepu a jsou uvedeny jednotlivé uvozovky.
Uvažovaný nástroj je schopen nejen najít slova v souborech, ale také zobrazit řádky, ve kterých není žádná hodnota specifikovaná uživatelem. Pak před vložením hodnoty klíče a souboru -v
přidá -v
. Díky ní, když aktivujete příkaz, uvidíte pouze relevantní data.
Syntaxe grepu shromáždila několik dalších argumentů, které lze stručně vysvětlit:
-I
- zobrazí pouze názvy souborů, které odpovídají kritériím vyhledávání; -s
- zakáže oznámení o zjištěných chybách; -n
- zobrazí číslo řádku v souboru; -b
- zobrazí číslo bloku před řádkem. Nic vám nebrání v používání více argumentů pro jedno zjištění, stačí je zadat odděleně mezerou, nezapomeňte vzít v úvahu případ.
Dnes jsme důkladně rozebrali příkaz grep , který je k dispozici v distribucích Linuxu. Je to jeden ze standardů a často se používá. O dalších populárních nástrojích a jejich syntaxi si můžete přečíst v našem samostatném materiálu na následujícím odkazu.