Jak pominąć pierwszą wiersz pliku za pomocą „AWK”

Jak pominąć pierwszą wiersz pliku za pomocą „AWK”

Istnieją różne zastosowania polecenia „AWK” w Linux. Na przykład można go użyć do drukowania zawartości pliku tekstowego. Pierwszy wiersz wielu plików tekstowych zawiera nagłówek pliku, a czasem pierwszy wiersz musi zostać pominięty podczas drukowania zawartości pliku. W tym samouczku pokażemy, jak wykonać to zadanie, używając polecenia „AWK”.

Utwórz plik tekstowy

Aby śledzić ten samouczek, utwórz nazwany plik tekstowy podawany TAB Lista książek.tekst z następującą treścią. Ten plik zawiera listę książek z odpowiednimi autorów. W tym samouczku pokażemy, jak wydrukować różne części tego pliku po pominięciu pierwszej linii.

Cyberbezpieczeństwo z Bash Paul Troncone, Carl Albing
Wiersz poleceń kung fu jason cannon
Linuks Linux Travis Booth
Bash w łatwych krokach Mike McGrath
UNIX w łatwych krokach Mike McGrath

Przykład 1: Pomiń pierwszy wiersz pliku za pomocą NR i operatora '>

Zmienna NR wskazuje liczbę rekordów w pliku. Poniższe polecenie „AWK” używa zmiennej NR do pominięcia pierwszego wiersza pliku. Wartość NR wynosi 1 dla pierwszej linii. Następujące polecenie wydrukuje wiersze, dla których wartość NR jest większa niż 1.

$ CAT Booklist.tekst
$ AWK '(nr> 1)' Booklist.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Wyjście zawiera wszystkie linie inne niż pierwszy wiersz pliku.

Przykład 2: Pomiń pierwszy wiersz za pomocą NR i '!= 'Operator

Następujące polecenie „AWK” jest podobne do tego w poprzednim przykładzie. Jednakże '!= „Operator porównawczy jest tu używany zamiast„> ”.

$ CAT Booklist.tekst
$ awk 'nr!= 1 'Booklist.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Wyjście pokazuje wszystkie linie inne niż pierwszy wiersz pliku.

Przykład 3: Pomiń pierwszy wiersz pliku za pomocą instrukcji warunkowej

Poniższe polecenie „AWK” wydrukuje wiersze pliku, jeśli instrukcja IF jest prawdziwa. Tutaj instrukcja IF będzie prawdziwa tylko wtedy, gdy wartość NR nie będzie równa 1.

$ CAT Booklist.tekst
$ awk 'if (nr!= 1) print '.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Wyjście zawiera wszystkie linie oprócz pierwszego wiersza pliku.

Przykład 4: Wydrukuj nazwy książek z pliku, ale pomiń pierwszy wiersz

W tym przykładzie używane są dwa polecenia „AWK” do wydrukowania wszystkich nazw książek, z wyjątkiem pierwszych. Polecenie „AWK” odczytuje pierwszą kolumnę z pliku na podstawie separatora pola (\ t) i wyśle ​​dane wyjściowe do drugiego polecenia „AWK”. Drugie polecenie „AWK” wydrukuje pożądane wyjście.

$ CAT Booklist.tekst
$ AWK -f "\ t" 'drukuj 1 $ „.txt | Awk 'nr!= 1 print '

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Dane wyjściowe pokazuje wszystkie nazwy książek, z wyjątkiem nazwy pierwszej książki.

Przykład 5: Sformatuj zawartość pliku po pominięciu pierwszego wiersza

Opcja „-f”, zmienna NR i funkcja drukowania są używane w następującym poleceniu „AWK” do wygenerowania sformatowanego wyjścia po pominięciu pierwszego wiersza. Polecenie podzieli zawartość pliku na kolumny na podstawie \ t, a PrintF wydrukuje pierwszą i drugą kolumny, gdy wartość NR wynosi co najmniej 2.

$ CAT Booklist.tekst
$ awk -f '\ t' 'nr> = 2 printf " %30s %20s \ n", 1 $, 2 $ „.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Wyjście pokazuje sformatowaną zawartość pliku, z wyłączeniem pierwszego wiersza pliku.

Przykład 6: Wydrukuj nazwy książek po pominięciu pierwszego wiersza za pomocą NR i NF

Poniższe polecenie „AWK” używa opcji „-f” oraz NR i NF do drukowania nazw książek po pominięciu pierwszej książki. Opcja „-f” służy do oddzielenia zawartości bazy plików na \ t. NR służy do pominięcia pierwszej linii, a NF służy do wydrukowania tylko pierwszej kolumny.

$ CAT Booklist.tekst
$ awk -f '\ t' 'nr> 1 && nf = 1' BookList.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Wyjście zawiera wszystkie nazwy książek w pliku, z wyjątkiem nazw pierwszej książki.

Przykład 7: Wydrukuj sformatowane nazwy autorów po pominięciu pierwszego wiersza

Poniższe polecenie „AWK” używa opcji „-f” i instrukcji warunkowej do wydrukowania nazw autora po pominięciu pierwszego wiersza. Tutaj wartość NR jest używana w stanie IF. Tutaj „Nazwa autora: \ n \ n” zostanie wydrukowana jako pierwsza linia zamiast treści z pierwszej linii. Nazwy autora z pliku zostaną wydrukowane dla innych wartości NR.

$ CAT Booklist.tekst
$ awk -f '\ t' 'if (nr == 1) printf "\ nauthor nazwa: \ n \ n"; else printf "%s \ n", 2 $ „.tekst

Następujące dane wyjściowe zostaną wyprodukowane po uruchomieniu powyższych poleceń. Wyjście pokazuje tekst „Nazwa autora:” z nową linią, a wszystkie nazwy autora są wydrukowane oprócz pierwszego.

Wniosek

Pierwszy wiersz pliku można pominąć za pomocą różnych poleceń Linux. Jak pokazano w tym samouczku, istnieją różne sposoby pominięcia pierwszego wiersza pliku za pomocą polecenia „AWK”. Zauważnie zmienną NR polecenia „AWK” można użyć do pominięcia pierwszego wiersza dowolnego pliku.