GNU/Linux >> Znalost Linux >  >> Linux

Použití grep pro vyhledávání obráceně

Představte si, že máte velký textový soubor a hledáte konkrétní informaci nebo chcete najít každý výskyt něčeho. Pro mě je to na denním pořádku, když při řešení problémů prohlížím systémové protokoly. Tím se dostáváme k příkazu grep.

grep, který se používá k hledání řetězce nebo vzoru na vstupu, vždy začíná hledat od začátku souboru. Pokud bychom ale chtěli začít hledat zezadu, který je od posledního řádku, pak můžeme použít grep v kombinaci s tac.

tac zobrazuje obsah souboru od posledního řádku k prvnímu řádku, pokud je tento směrován do grepu, bude schopen vyhledávat obráceně. Například pokud máme soubor s názvem test_file.

# cat test_file
Linux was created in 1991
It is a very robust and flexible OS.
It follows POSIX standards
There a huge number of distros in linux.

Pokud chceme hledat řetězec distros který je na konci můžeme použít:

tac test_file | grep distros

grep reverse:jak obrátit význam vyhledávání `grep`

obrácení grep znamená jednoduše vyloučit řádky, které obsahují hledaný výraz. Chcete-li to provést, použijte přepínač „-v“ s příkazem grep. Například:

$ grep -v "exclude text" filename

Chcete-li získat více informací o možnostech příkazu grep, podívejte se na manuálovou stránku grep.

$ man grep


Linux
  1. Jak prohledávat databázi pomocí phpMyAdmin

  2. Použití příkazu ripgrep (rg) v Linuxu

  3. Jak zahrnout potřebnou knihovnu C pomocí gcc?

  1. Shoda víceřádkového vzoru pomocí Sed, Awk nebo Grep?

  2. Spočítat celkový počet výskytů pomocí Grep?

  3. Pomocí indexu zrychlit grep?

  1. Hledání poslední položky v řadě pomocí Grepu?

  2. Jak najít konkrétní text pomocí GREP v systému Linux

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