Tento článek vysvětluje, jak začít používat grep
příkaz v systému Linux®.
Co je grep
?
Používáte grep
příkaz v systému založeném na Linuxu nebo Unixu k provádění textového vyhledávání definovaných kritérií slov nebo řetězců. grep
znamená G lobálně vyhledejte R pravidelné E xpression a P vytiskněte si to.
grep
syntaxe
Následující příklad ukazuje základní strukturu příkazů:
grep 'string' filename(s)
Tento příkaz vyhledá a vrátí všechny řádky textu, které obsahují řetězec daného kritéria v názvech souborů .
Možnosti:
Pro upřesnění vyhledávání můžete přidat kteroukoli z následujících možností jednotlivě nebo v kombinaci:
- -i :Vytiskne řádky se shodnými kritérii a ignoruje velká a malá písmena (velká/malá písmena).
- -l :Vytiskne pouze názvy souborů.
- -n :Vytiskne řádky s odpovídajícími kritérii a čísly řádků.
- -c :Vytiskne počet řádků s odpovídajícími kritérii.
- -v :Vytiskne řádky, které neodpovídají kritériím (inverzní vyhledávání).
- -w :Vytiskne shody celých slov.
- -A n :Tiskne n řádky po zápasech.
- -B n :Tiskne n řádky před zápasy.
- -C n :Tiskne n řádky před a po zápasech.
Ukázka grep
příkazy s výstupem
Příklad:soubor „example.txt“ obsahuje následujících 5 řádků:
hello world
Hello World
Hello Worlds
Hello Moon
321 Goodnight
Základní příkaz:Najděte a vytiskněte přesnou shodu pro „svět“
[root@test ~]# grep world example.txt
hello world
Použijte „-i“ k ignorování velkých a malých písmen
[root@test ~]# grep -i world example.txt
hello world
Hello World
Hello Worlds
K vyhledání a tisku shod a zahrnutí čísel řádků použijte „-n“.
[root@test ~]# grep -n Hello example.txt
2:Hello World
3:Hello Worlds
4:Hello Moon
Pomocí „-c“ vyhledejte a vytiskněte počet odpovídajících řádků.
[root@test ~]# grep -c hello example.txt
1
K upřesnění vyhledávání použijte kombinaci „-c“ a „-i“.
[root@test ~]# grep -ci hello example.txt
4
Pomocí „-v“ vyhledejte a vytiskněte všechny inverzní (neodpovídající) řádky.
[root@test ~]# grep -v world example.txt
Hello World
Hello Worlds
Hello Moon
321 Goodnight
K upřesnění vyhledávání použijte kombinaci „-v“ a „-i“.
[root@test ~]# grep -vi world example.txt
Hello Moon
321 Goodnight
K vyhledání a vytištění shod celých slov použijte „-w“.
[root@test ~]# grep -w World example.txt
Hello World
Pomocí „-A n“ vyhledejte a vytiskněte shody spolu s řádky „n“ po shodě.
[root@test ~]# grep -A 2 Worlds example.txt
Hello Worlds
Hello Moon
321 Goodnight
Pomocí „-B n“ vyhledejte a vytiskněte shody spolu s řádky „n“ před shodou.
[root@test ~]# grep -B 2 Goodnight example.txt
Hello Worlds
Hello Moon
321 Goodnight
Pomocí „CA n“ vyhledejte a vytiskněte shodu spolu s řádky „n“ před a po shodě.
[root@test ~]# grep -C 2 Worlds example.txt
hello world
Hello World
Hello Worlds
Hello Moon
321 Goodnight