Jak wydrukować pierwszą kolumnę lub ostatnią kolumnę lub oba za pomocą „awk”

Jak wydrukować pierwszą kolumnę lub ostatnią kolumnę lub oba za pomocą „awk”

Polecenie „AWK” Linux to potężne narzędzie dla różnych operacji na plikach tekstowych, takich jak wyszukiwanie, wymiana i drukowanie. Jest łatwy w użyciu z danych tabelary. Podczas pracy z plik tekstowym zawierającym dane tabelary. W tym samouczku pokażemy, jak wydrukować pierwszą kolumnę i/lub ostatnią kolumnę pliku linii lub tekstu.

Wydrukuj pierwszą kolumnę i/lub ostatnia kolumna wyjścia polecenia

Wiele poleceń Linux, takich jak polecenie „LS”, generuje wyjścia tabelarne. Tutaj pokażemy, jak wydrukować pierwszą kolumnę i/lub ostatnią kolumnę z wyjścia polecenia „LS -L”.

Przykład 1: Wydrukuj pierwszą kolumnę wyjścia polecenia

Poniższe polecenie „AWK” wydrukuje pierwszą kolumnę z wyjścia polecenia „LS -l”.

$ ls -l
$ ls -l | awk 'drukuj 1 $'

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń.

Przykład 2: Wydrukuj ostatnią kolumnę wyjścia polecenia

Poniższe polecenie „AWK” wydrukuje ostatnią kolumnę z wyjścia polecenia „LS -l”.

$ ls -l
$ ls -l | awk 'print $ nf'

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń.

Przykład 3: Wydrukuj pierwsze i ostatnie kolumny wyjścia polecenia

Poniższe polecenie „AWK” wydrukuje pierwsze i ostatnie kolumny z wyjścia polecenia „LS -L”.

$ ls -l
$ ls -l | awk 'drukuj 1 $, $ nf'

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń.

Wydrukuj pierwszą kolumnę i/lub ostatnia kolumna pliku tekstowego

Tutaj pokażemy, jak użyć polecenia „AWK”, aby wydrukować pierwszą kolumnę i/lub ostatnią kolumnę pliku tekstowego.

Utwórz plik tekstowy

Aby śledzić ten samouczek, utwórz plik tekstowy o nazwie klienci.tekst z następującą treścią. Plik zawiera trzy typy danych klientów: nazwa z numerem identyfikacyjnym, e -mail i numeru telefonu. Znak TAB (\ t) służy do oddzielenia tych wartości.

Nazwa Telefon e -mail
Jonathon Bing - 1001 [email protected] 01967456323
Micheal Jackson - 2006 [email protected] 01756235643
Janifer Lopez - 3029 [email protected] 01822347865
John Abraham - 4235 [email protected] 01590078452
Mir Sabbir - 2756 [email protected] 01189523978

Przykład 4: Wydrukuj pierwszą kolumnę pliku bez użycia separatora pola

Jeśli w poleceniu „AWK” nie jest używany żaden separator, wówczas przestrzeń jest używana jako domyślny separator pola. Następujące polecenie „AWK” wydrukuje pierwszą kolumnę za pomocą domyślnego separatora.

Klienci $ CAT.tekst
$ awk 'drukuj klientów 1 $.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Zauważ, że wyjście pokazuje tylko imię klienta, ponieważ przestrzeń jest stosowana jako separator pola. Rozwiązanie tego problemu pokazano w następnym przykładzie.

Przykład 5: Wydrukuj pierwszą kolumnę pliku z ogranicznikiem

Tutaj jest używany jako separator pola do wydrukowania pierwszej kolumny pliku. Opcja „-f” służy do ustawienia separatora pola.

Klienci $ CAT.tekst
$ awk -f '\ t' 'drukuj 1 $ „.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Treść pliku jest podzielona na trzy kolumny na podstawie \ t. Dlatego nazwa i identyfikator klienta są drukowane jako pierwsza kolumna. Jeśli chcesz wydrukować nazwę klienta bez identyfikatora, przejdź do następnego przykładu.


Jeśli chcesz wydrukować nazwę klienta bez identyfikatora, musisz użyć „-” jako separatora pola. Poniższe polecenie „AWK” wydrukuje nazwę klienta tylko jako pierwsza kolumna.

Klienci $ CAT.tekst
$ awk -f ' -' 'drukuj 1 $ „.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Wyjście obejmuje pełne nazwy klientów bez ich identyfikatorów.

Przykład 6: Wydrukuj ostatnią kolumnę pliku

Poniższe polecenie „AWK” wydrukuje ostatnią kolumnę klientów.tekst. Ponieważ w poleceniu nie jest używany separator pola, przestrzeń będzie używana jako separator pola.

Klienci $ CAT.tekst
$ awk 'print $ nf' klienci.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Ostatnia kolumna zawiera numery telefonów, jak pokazano na wyjściu.

Przykład 7: Wydrukuj pierwsze i ostatnie kolumny pliku

Poniższe polecenie „AWK” wydrukuje pierwszą i ostatnią kolumny klientów.tekst. Tutaj Tab (\ t) jest używany jako separator pola do podziału zawartości na kolumny. Tutaj Tab (\ t) jest używany jako separator do wyjścia.

Klienci $ CAT.tekst
$ awk -f "\ t" 'drukuj 1 $ "\ t" $ nf' klienci.tekst

Następujące dane wyjściowe pojawią się po uruchomieniu powyższych poleceń. Treść jest podzielona na trzy kolumny przez \ t; Pierwsza kolumna zawiera nazwę i identyfikator klienta, a druga kolumna zawiera numer telefonu. Pierwsze i ostatnie kolumny są drukowane za pomocą \ t jako separatora.

Wniosek

Polecenie „AWK” można zastosować na różne sposoby, aby uzyskać pierwszą kolumnę i/lub ostatnią kolumnę z dowolnego wyjścia polecenia lub z danych tabelarycznych. Należy zauważyć, że separator pola jest wymagany w poleceniu, a jeśli nie jest podany, wówczas używana przestrzeń jest używana.