Jak znaleźć ostatnie występowanie ciągu w pliku Linux

Jak znaleźć ostatnie występowanie ciągu w pliku Linux

W Linux stale pracujemy z plikami ciągów i tekstowych; Niezależnie od tego, czy pracując z plikami dziennika, czy dokumentami, manipulacja tekstem jest jednym procesem, którego nie możemy uciec.

Ten przewodnik pokaże, jak zlokalizować ostatnie występowanie ciągu w pliku w Linux. Linux ma wiele narzędzi, które mogą pomóc w wykonywaniu zadań. Jednak dla uproszczenia będziemy trzymać się łatwo dostępnych narzędzi we wszystkich głównych dystrybucjach Linux.

Metoda 1: Za pomocą GREP

Globalny wydruk ekspresji regularnej, znany jako GREP, jest popularnym i potężnym narzędziem manipulacji tekstem.

Działa poprzez przyjęcie danych wejściowych ze standardowego wejścia lub pliku i wyszukuje określony wzór. Gdy GREP znajdzie określony wzór, drukuje wynik do standardowego wyjścia. Określonym wzorem może być pojedynczy ciąg lub złożony regularność.

Załóżmy, że mamy plik auth.log (/var/log/auth.dziennik). Aby znaleźć ostatnie wystąpienie ciągu (uid = 0), możemy użyć polecenia:

$ sudo grep „uid = 0” auth.Log | ogon -1

Wyjście będzie jak pokazano poniżej:

Polecenie jest stosunkowo proste. Zaczynamy od znalezienia ciągu, którego potrzebujemy za pomocą GREP. Następnie GREP wymieniono wszystkie występy ciągów, a na koniec potopimy wyjście do ogona i zlokalizujemy ostatni wiersz wyjścia.

Możesz zmodyfikować powyższe polecenie, aby uzyskać ostatnie pięć wydarzeń łańcucha jako:

$ sudo grep „uid = 0” auth.Log | ogon -5

Metoda 2: AWK

AWK to kolejny popularny język manipulacji smyczką. AWK jest bardzo potężny, ponieważ oferuje niesamowite funkcje w porównaniu z innymi programami manipulacji tekstami.

Aby znaleźć podobny ciąg jak powyżej, możemy użyć polecenia jako:

$ sudo awk '/uid = 0/flag = 1; Flaga '| ogon -1

Podobnie pokazuje to ostatnie wystąpienie łańcucha jako:

Wniosek

To wszystko dla tego. W tym szybkim samouczku omówiliśmy dwie główne metody znalezienia ostatniego wystąpienia sznurka za pomocą GREP i AWK.