Awk

Używanie polecenia „awk” do drukowania ostatniej kolumny z pliku

Używanie polecenia „awk” do drukowania ostatniej kolumny z pliku
„awk” to bardzo potężne polecenie Linuksa, którego można używać z innymi poleceniami, a także z innymi zmiennymi. To polecenie jest zasadniczo używane do odczytywania zawartości pliku. Proces odczytu plików nigdy nie był tak łatwiejszy, jak w przypadku tego wydajnego polecenia. Odczytywanie i zapisywanie plików jest bardzo często używane, zwłaszcza jeśli jesteś programistą. Odczytany plik można następnie wykorzystać do przetworzenia jego zawartości, modyfikacji, a nawet po prostu wydrukowania.

Są jednak sytuacje, w których nie zamierzasz czytać całej zawartości tego pliku, a raczej interesuje Cię tylko określona część tego pliku. W takiej sytuacji zdecydowanie nie zaleca się odczytywania całego pliku, ponieważ zajmie on dodatkowe miejsce i zajmie więcej czasu na przetwarzanie, a raczej powinieneś bezpośrednio uderzyć w tę konkretną część tego pliku. W tym artykule postaramy się przedstawić różne metody używania polecenia „awk” do drukowania ostatniej kolumny z pliku.

Różne sposoby użycia polecenia „awk” do wydrukowania ostatniej kolumny z pliku:

Istnieją dwie różne metody, za pomocą których możemy użyć polecenia „awk”, aby wydrukować ostatnią kolumnę z pliku. Chociaż te dwie metody mogą być używane zamiennie, ponieważ w końcu renderują ten sam wynik, to jednak pierwsza metoda jest bardziej odpowiednia w sytuacji, gdy znasz dokładną liczbę kolumn w pliku, a druga metoda jest pomocna, gdy całkowita liczba kolumn jest nieznana. Przyjrzyjmy się obu tym metodom jeden po drugim.

Uwaga: użyliśmy Linux Mint 20 do zademonstrowania obu tych metod, jednak możesz wybrać dowolny smak Linuksa.

Metoda nr 1: Gdy znasz całkowitą liczbę kolumn pliku:

Tej metody można użyć, gdy znasz dokładną liczbę kolumn w pliku e.sol. 3, 5, 10 itd. W celu zademonstrowania tej metody należy wykonać następujące czynności w określonej kolejności:

Utwórz plik tekstowy o dowolnej nazwie w swoim folderze domowym. W tym scenariuszu nazwaliśmy go jako awk.tekst. Teraz kliknij dwukrotnie ten plik, aby go otworzyć i wpisz dane pokazane na obrazku poniżej w pliku tekstowym. Istnieją w sumie trzy różne kolumny, a kolumny są oddzielone od siebie spacją tabulacji. Możesz także wpisać dowolne losowe dane, które wybierzesz.

Po utworzeniu tego pliku musisz go zapisać i zamknąć. Teraz uruchom terminal w Linux Mint 20, klikając jego ikonę znajdującą się na pasku zadań. Terminal Linux Mint 20 jest również pokazany na poniższym obrazku:

Teraz wpisz poniższe polecenie w swoim terminalu, a następnie naciśnij klawisz Enter, aby je wykonać:

$ awk 'print $ColNum' plik.tekst

Tutaj musisz zastąpić ColNum numerem kolumny ostatniej kolumny. Na przykład utworzony przez nas plik tekstowy ma w sumie trzy kolumny, co oznacza, że ​​numer ostatniej kolumny będzie wynosił 3. Ponieważ naszym celem jest wydrukowanie tylko ostatniej kolumny tego pliku, zastąpiliśmy ColNum 3. Ilekroć numer kolumny jest poprzedzony symbolem „$”, oznacza to, że chcemy uzyskać dostęp do wartości tej kolumny. Co więcej, musisz również zastąpić „plik” dokładną nazwą pliku tekstowego. W naszym przypadku nazwa pliku brzmiała awk.tekst.

Jak tylko naciśniesz klawisz Enter, wszystkie wartości ostatniej kolumny pliku awk.txt pojawi się na twoim terminalu, jak pokazano na poniższym obrazku. Polecenie awk odczyta tę kolumnę, podczas gdy polecenie print będzie odpowiedzialne za wyświetlanie jej wartości na terminalu.

Metoda nr 2: Gdy całkowita liczba kolumn pliku jest nieznana:

Ta metoda jest zwykle używana, gdy nie wiesz o całkowitej liczbie kolumn w pliku. Aby wydrukować ostatnią kolumnę pliku tą metodą, będziesz musiał postępować w następujący sposób:

Używamy tego samego pliku tekstowego, który utworzyliśmy dla powyższej metody. Wszystko, co musimy zrobić, to uruchomić terminal, a następnie wpisać w nim następujące polecenie:

$ awk 'print $(NF)' plik.tekst

Tutaj NF jest zmienną, której zadaniem jest jawne wydrukowanie ostatniej kolumny z pliku. Na przykład, jeśli w pliku jest 10, 20 lub nawet więcej kolumn, ale nie znasz ich dokładnej liczby, a nadal chcesz uzyskać dostęp do ostatniej kolumny, ta zmienna może okazać się dla Ciebie bardzo pomocna. Ponownie musisz zastąpić „plik” nazwą swojego pliku tekstowego. W naszym przypadku, ponieważ użyliśmy tego samego pliku, co w metodzie nr 1, zastąpiliśmy plik.txt z awk.tekst.

Po wpisaniu tego polecenia w terminalu musisz je uruchomić, naciskając klawisz Enter. Zauważysz, że dane wyjściowe tego polecenia są identyczne z danymi wyjściowymi polecenia użytego w powyższej metodzie i.mi. ostatnia kolumna pliku tekstowego, która zawierała dane dotyczące roku, została pomyślnie wydrukowana na terminalu.

Wniosek:

W tym artykule podaliśmy wskazówki dotyczące drukowania tylko ostatniej kolumny z pliku przy użyciu polecenia „awk”. Istnieje wiele innych aspektów tego polecenia, które można szczegółowo zbadać i.mi. to polecenie może być również używane w połączeniu z innymi różnymi poleceniami, aby renderować inny rodzaj danych wyjściowych. Jednak dla zakresu dzisiejszej dyskusji naszą troską było jedynie zademonstrowanie jej użycia do drukowania ostatniej kolumny z pliku. Zaprezentowaliśmy Ci dwa różne sposoby robienia tego samego. Teraz całkowicie zależy od Twojej sytuacji, którą z tych metod wybierzesz.

Gry How to Install and Play Doom on Linux
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Gry Vulkan for Linux Users
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
Gry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...