Niekedy sa používatelia stretávajú s potrebou vyhľadávať určité informácie v rámci ľubovoľných súborov. Konfiguračné dokumenty alebo iné objemové údaje často obsahujú veľký počet riadkov, takže nie je možné manuálne nájsť potrebné údaje. Potom jeden z vstavaných príkazov pre operačné systémy Linux príde na záchranu, ktorá vám umožní nájsť linky za pár sekúnd.
obsah
Čo sa týka rozdielov medzi distribúciami Linuxu, v tomto prípade nehrajú žiadnu rolu, pretože príkaz grep, ktorý vás zaujíma, je štandardne dostupný vo väčšine zostáv a používa sa presne rovnakým spôsobom. Dnes by sme chceli prediskutovať nielen vplyv grepu , ale aj hlavné argumenty, ktoré môžu výrazne zjednodušiť postup vyhľadávania.
Pozri tiež: Hľadáte súbory v Linuxe
Všetky ďalšie akcie sa budú vykonávať prostredníctvom štandardnej konzoly, tiež vám umožní otvárať súbory len zadaním plnej cesty k nim, alebo ak sa terminál spustí z požadovaného adresára. Môžete nájsť rodičovský priečinok súboru a prejsť naň v konzole takto:
cd /home/user/folder
, kde užívateľ je meno používateľa a priečinok je názov priečinka. Ak chcete zobraziť celý obsah, použite cat + название файла
. Podrobný návod na prácu s týmto tímom nájdete v našom ďalšom článku na nižšie uvedenom odkaze.
Ďalšie podrobnosti: Príklady príkazov pre mačky Linux
Vďaka vyššie uvedeným krokom môžete použiť grep , ktorý je v pravom adresári, bez zadania úplnej cesty k súboru.
Predtým, než pristúpime k zváženiu všetkých dostupných argumentov, je dôležité poznamenať obvyklé vyhľadávanie podľa obsahu. Bude to užitočné v tých chvíľach, keď potrebujete nájsť jednoduchú zhodu podľa hodnoty a zobraziť všetky príslušné riadky.
grep word testfile
, kde slovo je informácia, ktorú hľadáte, a testfile je názov súboru. Pri vyhľadávaní mimo priečinka zadajte úplnú cestu ako v /home/user/folder/filename
. Po zadaní príkazu stlačte kláves Enter . grep -i "word" testfile
. Niekedy používatelia potrebujú nájsť nielen presnú zhodu v riadkoch, ale aj zistiť informácie, ktoré prichádzajú za nimi, napríklad pri hlásení konkrétnej chyby. Potom je správnym riešením použiť atribúty. Napíšte grep -A3 "word" testfile
do konzoly, aby ste zahrnuli nasledujúce tri riadky do výsledku po zápase. Môžete písať -A4
, potom štyri čiary budú zachytené, neexistujú žiadne obmedzenia.
Ak namiesto -A
použijete argument -B + количество строк
, výsledkom sú dáta, ktoré sú až do bodu vstupu.
Argument -С
, zase zachytáva čiary okolo kľúčového slova.
Nižšie nájdete príklady priradenia zadaných argumentov. Vezmite prosím na vedomie, že musíte vziať do úvahy prípad a uviesť dvojité úvodzovky.
grep -B3 "word" testfile
grep -C3 "word" testfile
Potreba definovať kľúčové slovo, ktoré je na začiatku alebo na konci riadku, sa najčastejšie vyskytuje počas práce s konfiguračnými súbormi, kde každý riadok je zodpovedný za jeden parameter. Ak chcete vidieť presný záznam na začiatku, musíte zaregistrovať súbor grep "^word" testfile
. Za použitie tejto možnosti zodpovedá iba znak ^ .
Vyhľadávanie obsahu na konci riadkov sa deje približne rovnakým spôsobom, iba v úvodzovkách by ste mali pridať znak $ a príkaz bude vyzerať takto: grep "word$" testfile
.
Pri hľadaní požadovaných hodnôt nemá užívateľ vždy informácie o presnom slove prítomnom v reťazci. Potom je možné vyhľadávací postup vykonať pomocou čísel, čo niekedy veľmi zjednodušuje úlohu. Je potrebné použiť príkaz vo forme grep "[0-7]" testfile
, kde "[0-7]" je rozsah hodnôt a testfile je názov súboru, ktorý sa má kontrolovať.
Skenovanie všetkých objektov v rovnakom priečinku sa nazýva rekurzívne. Užívateľ musí použiť len jeden argument, ktorý analyzuje všetky súbory v priečinku a zobrazí príslušné riadky a ich umiestnenie. Budete musieť zadať grep -r "word" /home/user/folder
, kde / home / user / folder je cesta k adresáru pre skenovanie.
Modrá zobrazí umiestnenie pre ukladanie súborov a ak chcete získať riadky bez týchto informácií, priraďte iný argument, aby sa príkaz dostal do tohto grep -h -r "word" + путь к папке
.
Na začiatku článku sme už hovorili o obvyklom hľadaní slov. Pri tejto metóde sa však vo výsledkoch zobrazia ďalšie kombinácie. Napríklad nájdete slovo User , ale príkaz zobrazí aj User 123 , Password User a iné zhody, ak nejaké existujú. Aby ste sa vyhli tomuto výsledku, priraďte argument -w
( grep -w "word" + имя файла или его расположение
).
Táto voľba je tiež vykonaná, keď potrebujete vyhľadať niekoľko presných kľúčových slov naraz. V tomto prípade napíšte egrep -w 'word1|word2' testifile
. Vezmite prosím na vedomie, že v tomto prípade je písmeno gr pridané do grepu a sú vložené jednoduché úvodzovky.
Uvažovaný nástroj je schopný nielen nájsť slová v súboroch, ale aj zobraziť riadky, v ktorých neexistuje žiadna hodnota špecifikovaná používateľom. Potom sa pred zadaním hodnoty kľúča a súboru pridá -v
. Vďaka nej, keď aktivujete príkaz, uvidíte iba relevantné údaje.
Syntax grep zhromaždila niekoľko ďalších argumentov, ktoré možno stručne vysvetliť:
-I
- zobrazí iba názvy súborov, ktoré vyhovujú kritériám vyhľadávania; -s
- vypnutie upozornení na nájdené chyby; -n
- zobrazí číslo riadku v súbore; -b
- zobrazí číslo bloku pred riadkom. Nič vám nebráni v používaní viacerých argumentov pre jedno zistenie, stačí ich zadať oddelene medzerou a nezabudnúť vziať do úvahy prípad.
Dnes sme dôkladne rozložili príkaz grep , ktorý je k dispozícii v distribúciách Linuxu. Je to jeden zo štandardov a často používaný. O ďalších populárnych nástrojoch a ich syntaxe si môžete prečítať v našom samostatnom materiáli na nasledujúcom odkaze.
Pozri tiež: Často používané príkazy v termináli Linuxu