Příklady příkazů Linuxu grep

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.

Použijte příkaz grep v Linuxu.

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

Přípravné práce

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:

  1. Spusťte správce souborů a přejděte do požadované složky.
  2. Otevření Správce souborů Linux

  3. Klepněte pravým tlačítkem myši na požadovaný soubor a vyberte "Vlastnosti" .
  4. Přepněte do vlastností složek v operačním systému Linux

  5. V záložce „Basic“ si přečtěte řádek „Parent folder“ .
  6. V operačním systému Linux zjistěte rodičovskou složku souboru

  7. Nyní spusťte „Terminál“ běžnou metodou, například prostřednictvím nabídky nebo stisknutím kombinace kláves Ctrl + Alt + T.
  8. Spuštění terminálu pro další práci v Linuxu

  9. Zde přejděte do adresáře pomocí příkazu cd /home/user/folder , kde uživatel je uživatelské jméno a složka je název složky.
  10. Přejděte do konkrétní složky prostřednictvím terminálu v systému Linux

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.

Použití příkazu cat na terminálu Linuxu

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.

Standardní vyhledávání obsahu

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.

  1. Na příkazovém řádku zadejte příkaz 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 .
  2. Normální vyhledávání pomocí příkazu grep v Linuxu

  3. Zbývá pouze seznámit se s dostupnými možnostmi. Na obrazovce se zobrazí plné řádky a hodnoty klíčů jsou zvýrazněny červeně.
  4. Zobrazení normálních výsledků vyhledávání pomocí příkazu grep v Linuxu

  5. Je důležité vzít v úvahu případ písmen, protože kódování Linuxu není optimalizováno pro vyhledávání bez zohlednění velkých nebo malých znaků. Pokud chcete vynechat definici případu, zadejte příkaz grep -i "word" testfile .
  6. Hledání obsahu souboru necitlivého na Linux

  7. Jak můžete vidět, na následujícím snímku se změnil výsledek a přidal se ještě jeden nový řádek.
  8. Zobrazení nalezených slov v případě, že není v Linuxu

Vyhledávání pomocí zachycení řetězce

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í.

Zobrazí počet řádků za klíčovým slovem v systému Linux

Pokud namísto -A použijete argument -B + количество строк , výsledkem jsou data, která jsou až do bodu vstupu.

Zobrazí počet řádků před klíčovým slovem v systému Linux

Argument , zase zachycuje řádky kolem klíčového slova.

Zobrazení okolních klíčových slov v Linuxu

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

Hledejte klíčová slova na začátku a na konci řádků

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 ^ .

Hledejte klíčové slovo na začátku řádku Linuxu

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 .

Hledání podle klíčového slova na konci řádku Linuxu

Vyhledejte čísla

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.

Vyhledejte numerický rozsah v Linuxu

Analýza všech adresářových souborů

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í.

Rekurzivní vyhledávání pomocí příkazu grep v Linuxu

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" + путь к папке .

Rekurzivní vyhledávání bez zobrazení cesty k souboru v Linuxu

Přesné vyhledávání slov

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" + имя файла или его расположение ).

Zobrazit pouze přesné položky v Linuxu.

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.

Zobrazení několika přesných položek v Linuxu

Hledání řetězců bez specifického slova.

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.

Najít řetězce bez zadaného slova v Linuxu

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.

Viz také: Často používané příkazy v terminálu Linuxu