Pokaż linie przed i po meczu przez Grep

Show Lines Before After Match Via Grep



Grep był szeroko stosowany w systemach Linux podczas pracy z niektórymi plikami, wyszukiwania określonego wzorca i wielu innych. Tym razem używamy polecenia grep, aby wyświetlić wiersze przed i po dopasowanym słowie kluczowym użytym w określonym pliku. W tym celu w naszym samouczku będziemy używać flag -A, -B i -C. Musisz więc wykonać każdy krok, aby lepiej zrozumieć. Upewnij się, że masz zainstalowany system Ubuntu 20.04 Linux.

Po pierwsze, musisz otworzyć terminal wiersza poleceń systemu Linux, aby rozpocząć pracę z grep. Jesteś obecnie w katalogu domowym systemu Ubuntu zaraz po otwarciu terminala wiersza poleceń. Spróbuj więc wyświetlić listę wszystkich plików i folderów w katalogu domowym systemu Linux za pomocą poniższego polecenia ls, a otrzymasz wszystkie. Widzisz, mamy w nim kilka plików tekstowych i kilka folderów.







ls



Przykład 01: Używanie „-A” i „-B”

Z powyższych plików tekstowych przyjrzymy się niektórym z nich i spróbujemy zastosować na nich polecenie grep. Najpierw otwórzmy plik tekstowy one.txt za pomocą popularnego polecenia cat, jak poniżej:



$Kotjeden.txt





Najpierw zobaczymy kilka konkretnych słów dopasowanych w tym pliku tekstowym za pomocą polecenia grep, jak poniżej. Szukamy słowa my w pliku tekstowym one.txt za pomocą instrukcji grep. Dane wyjściowe pokazują dwie linie z pliku tekstowego, w których znajdujemy się my.

$chwytmy jeden.txt



W tym przykładzie pokażemy wiersze przed i po określonym dopasowaniu słów w niektórych plikach tekstowych. Używając tego samego pliku tekstowego one.txt, dopasowaliśmy słowo my, wyświetlając 3 linie przed nim, jak poniżej. Flaga -B oznacza Przed. Dane wyjściowe pokazują tylko 2 wiersze przed wierszem określonego słowa, ponieważ plik nie ma więcej wierszy przed wierszem określonego słowa. Pokazuje również te linie, w których występuje to konkretne słowo.

$chwyt-B3my jeden.txt

Użyjmy tego samego słowa kluczowego my z tego pliku, aby wyświetlić 3 wiersze po wierszu zawierające słowo we. Flaga -A przedstawia After. Dane wyjściowe ponownie pokazują tylko 2 wiersze, ponieważ plik nie zawiera więcej wierszy.

$chwyt-DO3my jeden.txt

Użyjmy więc nowego słowa kluczowego do dopasowania i wyświetlmy wiersze lub wiersze przed i po wierszu, w którym się znajduje. Więc używamy słowa może być dopasowany. Numery linii są w tym przypadku takie same. Trzy wiersze po dopasowanym słowie można wyświetlić poniżej za pomocą polecenia grep.

$chwyt-DO3może jeden.txt

Możesz zobaczyć dane wyjściowe przed wierszami dopasowanego słowa za pomocą słowa kluczowego can. W przeciwieństwie do tego pokazuje tylko dwa wiersze przed wierszem dopasowanego słowa, ponieważ nie ma przed nim więcej wierszy.

$chwyt-B3może jeden.txt

Przykład 02: Używanie „-A” i „-B”

Weźmy inny plik tekstowy, two.txt, z katalogu domowego i wyświetlmy jego zawartość za pomocą poniższego polecenia cat.

$Kotdwa.txt

Wyświetlmy 5 wierszy przed słowem Most z pliku dwa.txt za pomocą polecenia grep. Wynik pokazuje 5 wierszy przed wierszem zawierającym określone słowo.

$chwyt-B5Większość dwóch.txt

Polecenie grep to pokazuje 5 wierszy po słowie Most z pliku tekstowego two.txt poniżej.

$chwyt-DO5Większość dwóch.txt

Zmieńmy słowo kluczowe do wyszukania. Tym razem użyjemy go jako słowa kluczowego do dopasowania. Wyświetl 2 wiersze przed słowem z pliku tekstowego two.txt za pomocą poniższego polecenia grep. Dane wyjściowe pokazują dwa wiersze słowa kluczowego z, ponieważ występuje ono dwukrotnie w pliku. Wynik zawiera więc więcej niż 2 wiersze.

$chwyt-B2z dwóch.txt

Teraz wyświetlenie 2 wierszy pliku dwa.txt po wierszu zawierającym słowo kluczowe można wykonać za pomocą poniższego polecenia. Dane wyjściowe ponownie wyświetlają więcej niż 2 wiersze.

$chwyt-DO2z dwóch.txt

Przykład 03: Użycie „-C”

Kolejna flaga, -C, została użyta do wyświetlenia linii przed i po dopasowanym słowie. Wyświetlmy zawartość pliku one.txt za pomocą polecenia cat.

$Kotjeden.txt

Jako słowo kluczowe do dopasowania wybieramy społeczeństwo. Poniższe polecenie grep wyświetli 2 wiersze przed i 2 wiersze po wierszu zawierającym słowo społeczeństwo. Dane wyjściowe pokazują jeden wiersz przed wierszem określonego słowa i 2 wiersze po nim.

$chwyt-C2społeczeństwo jeden.txt

Zobaczmy zawartość pliku two.txt za pomocą poniższego polecenia cat.

$Kotdwa.txt

Na tej ilustracji używamy wierszy jako słowa kluczowego do dopasowania. Wykonaj w tym celu poniższe polecenie. Dane wyjściowe pokazują dwa wiersze przed i dwa wiersze po dopasowanym słowie.

$chwyt-C2wiersze dwa.txt

Użyjmy jeszcze jednego słowa kluczowego z pliku dwa.txt do dopasowania. Tym razem używamy natury jako słowa kluczowego. Wypróbuj więc poniższe polecenie, używając opcji -C jako flagi zawierającej słowo kluczowe natura z pliku dwa.txt. Tym razem wyjście ma więcej niż dwie linie na wyjściu. Ponieważ plik zawiera słowo natura więcej niż raz, jest to powód. Słowo kluczowe natura, które pojawia się jako pierwsze, ma dwa wiersze przed i dwa wiersze po nim. Podczas gdy drugie pasowało do tego samego słowa kluczowego, natura ma przed sobą dwa wiersze, ale nie ma żadnych wierszy po nim, ponieważ znajduje się w ostatnim wierszu pliku.

$chwyt-C2wiersze dwa.txt

Wniosek

Udaje nam się wyświetlać wiersze przed i po określonym słowie podczas korzystania z instrukcji grep.