GNU/Linux >> Znalost Linux >  >> Linux

Linux vyhledá slovo a zobrazí celý řádek

Otevřete soubor ve formátu skriptu a poté hledejte pomocí klíčového slova, které chcete najít, následovně.

$vi <logfilename>
     &
:/search

Můžete použít grep zobrazí odpovídající řádky a less jako pager:

grep 'Nov 12 2012' /path/to/logfile | less

Chcete-li přejít na další obrazovku s výsledky, zadejte na konec každé stránky „mezera“.


Můžete použít grep takto:

grep 'Nov 12 2012' file_to_search.log > search_results.log

Některá vysvětlení:

  • grep je název příkazu / nástroje používaného pro vyhledávání vzorů
  • 'Nov 12 2012' :bezprostředně za grep a oddělené alespoň 1 mezerou, zadáte vzor, ​​který chcete hledat
  • file_to_search.log :jako poslední argument pro grep zde zadáte soubory, které chcete hledat
  • > search_results.log :> znamená přesměrování výstupu. Zde to znamená „zapsat výstup z tohoto příkazu do souboru s názvem search_results.log . Pokud soubor již existuje, zcela jej přepište.

Po získání výstupu si můžete výsledky prohlédnout pomocí textového editoru dle vlastního výběru nebo pomocí less , takže použijte některý z následujících:

less search_results.log
gedit search_results.log
emacs search_results.log
vim search_results.log

grep --after-context=5 --before-context=10 'Nov 12 2012' yourfile.log

Zobrazí se každý řádek, který obsahuje text vašeho data, a také 10 řádků textu PŘED odpovídajícím řádkem a 5 řádků ZA řádkem, který odpovídal.


Linux
  1. Linux – Jak šáhnout po konkrétním slovu a uchopit text?

  2. Příkazový řádek:vyhledejte a nahraďte všechny názvy souborů odpovídající grep

  3. Výstup roury, který se má použít jako vyhledávací specifikace pro grep v Linuxu

  1. Je potřeba regulární výraz (grep) pro víceřádkové vyhledávání

  2. Vi na Linuxu:zobrazit konce řádků ^M pro soubory ve formátu DOS

  3. Jak najít konkrétní slovo a uchopit text

  1. Nejlepších 5 podcastů pro novinky a tipy pro Linux

  2. Použijte Najít a najít k vyhledání souborů v Linuxu

  3. Jak vyhledáváte soubory obsahující konce řádků DOS (CRLF) pomocí grep v Linuxu?