grep

Pokaż linie przed i po meczu przez Grep

Pokaż linie przed i po meczu przez 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 będziemy używać flag „-A”, „-B” i „-C” w naszym poradniku. Musisz więc wykonać każdy krok, aby lepiej zrozumieć. Upewnij się, że masz Ubuntu 20.04 Zainstalowany system Linux.

Po pierwsze, musisz otworzyć terminal wiersza poleceń Linuksa, aby rozpocząć pracę z grep. Jesteś obecnie w katalogu domowym swojego 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. Otwórzmy plik tekstowy „jeden.txt” najpierw za pomocą popularnego polecenia „cat”, jak poniżej:

$ kot jeden.tekst

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 „jeden.txt” za pomocą instrukcji grep. Wynik pokazuje dwie linie z pliku tekstowego zawierające „my”.

$ grep my jeden.tekst

W tym przykładzie pokażemy wiersze przed i po określonym dopasowaniu słowa w niektórych plikach tekstowych. Więc używając tego samego pliku tekstowego „jeden.txt” dopasowujemy słowo „my” podczas wyświetlania 3 linii 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.

$ grep -B 3 my jeden.tekst

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

$ grep -A 3 my jeden.tekst

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. Dlatego używamy słowa „może” do dopasowania. W tym przypadku numery linii są takie same. 3 linie po dopasowanym słowie „can” zostały wyświetlone poniżej za pomocą polecenia grep.

$ grep - 3 puszki jeden.tekst

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

$ grep -B 3 może jeden.tekst

Przykład 02: użycie '-A' i '-B'

Weźmy inny plik tekstowy „dwa.txt” z katalogu domowego i wyświetl jego zawartość za pomocą poniższego polecenia „cat”.

$ kot dwa.tekst

Wyświetlmy 5 wierszy przed słowem „Większość” z pliku „dwa.txt” za pomocą polecenia grep. Wynik pokazuje 5 wierszy przed wierszem zawierającym określone słowo.

$ grep -B 5 Większość dwóch.tekst

Polecenie grep wyświetlające 5 wierszy po słowie „Większość” z pliku tekstowego „dwa.txt” podano poniżej.

$ grep -A 5 Większość dwóch.tekst

Zmieńmy słowo kluczowe do wyszukiwania. Tym razem użyjemy „of” jako słowa kluczowego do dopasowania. Wyświetl 2 wiersze przed słowem „z” z pliku tekstowego „dwa.txt” można wykonać za pomocą poniższego polecenia grep. Dane wyjściowe pokazują dwie linie dla słowa kluczowego „of”, ponieważ występuje ono dwukrotnie w pliku. Wynik zawiera więcej niż 2 wiersze.

$ grep -B 2 z dwóch.tekst

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

$ grep -A 2 z dwóch.tekst

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 „jeden.txt” za pomocą polecenia cat.

$ kot jeden.tekst

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 w nim słowo „społeczeństwo”. Dane wyjściowe pokazują jedną linię przed linią konkretnego słowa i 2 linie po niej.

$ grep -C 2 społeczeństwo jeden.tekst

Zobaczmy zawartość pliku „dwa.txt” za pomocą poniższego polecenia cat.

$ kot dwa.tekst

Na tej ilustracji używamy „wierszy” jako słowa kluczowego do dopasowania. Wykonaj więc poniższe polecenie. Dane wyjściowe pokazują dwie linie przed i dwie linie po dopasowanym słowie.

$ grep -C 2 wiersze dwa.tekst

Użyjmy jeszcze jednego słowa kluczowego z pliku „dwa.txt” do dopasowania. Tym razem używamy słowa „natura” jako słowa kluczowego. Spróbuj więc poniższego polecenia, używając „-C” jako flagi ze słowem kluczowym „natura” z pliku „dwa.tekst". 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 tego. 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.

$ grep -C 2 wiersze dwa.tekst

Wniosek

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

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...