Korzystanie z polecenia „AWK” do wydrukowania ostatniej kolumny z pliku

Korzystanie z polecenia „AWK” do wydrukowania ostatniej kolumny z pliku

Czasami pojawia się sytuacja, gdy nie musimy czytać pełnego pliku, potrzebujemy tylko części pliku do wyświetlenia. W tej sytuacji staramy się znaleźć skuteczne sposoby, aby je zdobyć bez przeglądania całej zawartości pliku. Polecenie „AWK” jest jednym.

Polecenie „AWK” jest narzędziem wiersza poleceń używanych w Linux do przeprowadzania wyszukiwań z różnymi wzorami i przetwarzania. Jest to polecenie, które pozwala koderowi kodować małe, ale wydajne wiersze kodu w postaci instrukcji, które inicjują wzorce tekstu używane do prowadzenia wyszukiwania w każdej części dokumentu. Jest to również bardzo używane polecenie do przetwarzania tekstu.

Za pomocą polecenia „AWK” programista może odebrać dane i elementy określonego tekstu oparte na wzorcu podanym na polecenie. Polecenie AWK może skanować i wyszukiwać pliki według linii, rozpowszechniać i podzielić na każdy wiersz przekazywany jako wejście na pola, porównywać i dopasowywać pola do linii wejściowych oraz wykonywać instrukcje określone przez programista w dopasowanych liniach. Polecenia AWK mogą być używane do produkcji raportów w określonych formatach i do zmiany danych w plikach.

Składnia:

Poniżej znajduje się składnia polecenia AWK:

awk 'Action' your_file_name.tekst

W tym poleceniu parametr „Działanie” w składni służy do zdefiniowania działania, które nasze polecenie będzie wykonane. Następnie przekazamy nazwę naszego pliku jako parametr, na którym będziemy działać.

Przykład nr. 1:

W tym przykładzie spróbujemy wydrukować nth lub ostatnią kolumnę pliku za pomocą polecenia AWK. Najpierw utwórzmy nowy plik zawierający niektóre dane związane z pracownikami. Aby utworzyć nowy plik, uruchomimy polecenie poniżej Displayed:

Linux@Linux-virtualbox: ~ $ Touch Pracownik.tekst

Po uruchomieniu powyższego polecenia utworzy nowy plik w naszym katalogu domowym. Nie jest konieczne tworzenie pliku w katalogu domowym. Teraz sprawdzimy, czy plik jest utworzony, czy nie. W tym celu po prostu sprawdzimy katalog domowy. Jak pokazano na poniższym fragmencie, utworzyliśmy nowy plik o nazwie Pracownik.tekst.

Teraz dodamy trochę treści do pliku za pomocą notatnika, jak pokazano na fragmencie poniżej. Dodaliśmy w nim dane pięciu pracowników, które obejmują nazwę, oznaczenie i pensję pracownika. Dane są pokazane poniżej, które są przechowywane w pliku „pracownik.tekst".

Nazwa Wyznaczenie wynagrodzenia
Jhone Manager 142 USD
Rick Assistant 543 $
Linda Designer 148 USD
Alex Proje Manager 342 $

Teraz plik jest pomyślnie tworzony z zawartością i aby uzyskać ostatnią kolumnę pliku za pomocą polecenia AWK. W tym celu uruchomimy polecenie wspomniane poniżej:

Linux@Linux-virtualbox: ~ $ awk 'print $ nf' pracownik.tekst

W powyższym poleceniu przekazaliśmy instrukcję drukowania wraz z słowem kluczowym „$ nf”, co oznacza, że ​​polecenie AWK instruuje kompilatora do wydrukowania „$ nf”, które wskazuje n -th pola pliku. Ostatni „pracownik.txt ”to nazwa pliku, którego ostatnia kolumna zostanie wydrukowana. Naciśnięcie klawisza ENTER uruchomimy polecenie, na którym wyświetlane jest wyjście wyświetlane poniżej na terminalu, w którym wyświetlana jest wynagrodzenie pracowników.

wynagrodzenie
142 USD
543 USD
148 USD
342 USD

Przykład nr. 2:

W tym przykładzie przeczytamy ostatnią kolumnę pliku, ale tym razem używamy innej metody, która jest najczęściej używana, gdy liczba kolumn jest znana przez użytkownika. Teraz najpierw utwórzmy nowy plik zawierający dane pięciu studentów. Obejmuje nazwę uczniów, ich zajęć i zdobytych znaków.

Linux@Linux-virtualbox: ~ $ nano Student.tekst

Po uruchomieniu powyższego polecenia utworzy nowy plik i otwiera go automatycznie w edytorze tekstu. Teraz dodamy dane uczniów w pliku i naciskając „Ctrl + x”. Zapiszymy plik po dodaniu do niego zawartości. W naszym przypadku dodaliśmy dane pięciu studentów. Zapisując plik, przejdziemy do naszego głównego celu, jakim jest wydrukowanie ostatniej kolumny pliku. Poniżej znajduje się treść pliku „Uczeń.tekst".

Nazwa Znaki klasowe
JHONE GROGAC 154
Rick Gradea 124
Linda Gradeb 144
Alex Gradea 122

Teraz uruchomimy polecenie AWK, aby wydrukować ostatnią kolumnę pliku. Załóżmy, że tym razem znamy kolumny pliku i chcemy wydrukować jego ostatnią kolumnę. W tym celu użyjemy polecenia AWK wraz z numerem kolumny, który zostanie wydrukowany na terminalu. Jak wiemy, w naszym pliku są tylko trzy kolumny, które są nazwą uczniów, ich zajęć i znaków. Aby wydrukować ostatnią kolumnę, uruchomimy polecenie poniżej Shown:

Linux@Linux-virtualbox: ~ $ AWK 'Print 3 $' Student.tekst

W tym poleceniu przekazaliśmy „3 USD” wraz z polecenie.tekst". Po uruchomieniu tego polecenia wydrukuje następujące dane wyjściowe, w którym są drukowane znaki uczniów. Możemy również porównać dane wyjściowe z fragmentem pliku, który jest wyświetlany powyżej. Plik zawiera tylko trzy kolumny, a ostatnia kolumna pliku zawiera znaki uczniów. To polecenie można użyć do wydrukowania dowolnej kolumny pliku; jest nie tylko określone w celu wydrukowania ostatniej kolumny. Zmieniając znak „3 USD” na „2 USD”, możemy wydrukować drugą kolumnę. Po uruchomieniu powyższego polecenia otrzymamy dane wyjściowe poniżej.

Znaki
154
124
144
122

Wniosek

Studiowaliśmy polecenie „AWK”, które jest szeroko używane do bezpośredniego trafienia w zawartość potrzebnego pliku. Następnie zaimplementowaliśmy wiele przykładów, aby odczytać określoną ostatnią kolumnę plików za pomocą polecenia AWK. Możesz zaimplementować więcej przykładów, aby uzyskać lepsze wyobrażenie o tym, jak można użyć polecenia AWK.