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.