Awk

Kako preskočiti prvi redak datoteke pomoću 'awk'

Kako preskočiti prvi redak datoteke pomoću 'awk'

U Linuxu se koriste razne naredbe 'awk'. Na primjer, može se koristiti za ispis sadržaja tekstualne datoteke. Prvi redak mnogih tekstualnih datoteka sadrži naslov datoteke, a ponekad se prvi redak mora preskočiti prilikom ispisa sadržaja datoteke. U ovom uputstvu pokazat ćemo vam kako izvršiti ovaj zadatak pomoću naredbe 'awk'.

Stvorite tekstualnu datoteku

Da biste nastavili s ovim uputstvom, stvorite tekstualnu datoteku razdvojenu karticama s imenom popis knjiga.txt sa sljedećim sadržajem. Ova datoteka sadrži popis knjiga s odgovarajućim autorima. U ovom uputstvu pokazat ćemo vam kako ispisati različite dijelove ove datoteke nakon preskakanja prvog retka.

Kibernetska sigurnost s bashom Paulom Tronconeom, Carlom Albingom
Komandna linija Kung Fu Jason Cannon
Linux naredbeni redak Travis Booth
Udarac laganim koracima Mike McGrath
Unix u laganim koracima Mike McGrath

Primjer 1: Preskočite prvi redak datoteke koristeći NR i operator '>'

NR varijabla označava broj zapisa u datoteci. Sljedeća naredba 'awk' koristi NR varijablu za preskakanje prvog retka datoteke. Vrijednost NR je 1 za prvi redak. Sljedeća naredba ispisat će retke za koje je vrijednost NR veća od 1.

$ mačka popis knjiga.txt
$ awk '(NR> 1)' popis knjiga.txt

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi. Izlaz uključuje sve retke osim prvog retka datoteke.

Primjer 2: preskočite prvi redak pomoću NR i znaka '!= 'operator

Sljedeća naredba 'awk' slična je onoj u prethodnom primjeru. Međutim '!= 'ovdje se koristi operator usporedbe umjesto'> '.

$ mačka popis knjiga.txt
$ awk 'NR!= 1 'popis knjiga.txt

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi. Izlaz prikazuje sve retke osim prvog retka datoteke.

Primjer 3: Preskočite prvi redak datoteke pomoću uvjetnog izraza

Sljedeća naredba 'awk' ispisat će retke datoteke ako je izjava if istinita. Ovdje će naredba if biti istinita samo kada NR vrijednost nije jednaka 1.

$ mačka popis knjiga.txt
$ awk 'ako (NR!= 1) print 'popis knjiga.txt

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi. Izlaz uključuje sve retke, osim prvog retka datoteke.

Primjer 4: Ispišite imena knjiga iz datoteke, ali preskočite prvi redak

U ovom se primjeru koriste dvije naredbe 'awk' za ispis svih imena knjiga, osim prve. Naredba 'awk' očitat će prvi stupac iz datoteke na temelju separatora polja (\ t) i poslati izlaz drugoj naredbi 'awk'. Druga naredba 'awk' ispisat će željeni izlaz.

$ mačka popis knjiga.txt
$ awk -F "\ t" 'print $ 1' popis knjiga.txt | awk 'NR!= 1 ispis '

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi. Izlaz prikazuje sva imena knjiga, osim imena prve knjige.

Primjer 5: Formatirajte sadržaj datoteke nakon preskakanja prvog retka

Opcija '-F', NR varijabla i funkcija printf koriste se u sljedećoj naredbi 'awk' za generiranje formatiranog izlaza nakon preskakanja prvog retka. Naredba će podijeliti sadržaj datoteke u stupce na temelju \ t, a printf će ispisati prvi i drugi stupac kada je NR vrijednost najmanje 2.

$ mačka popis knjiga.txt
$ awk -F '\ t' 'NR> = 2 printf "% 30s% 20s \ n", $ 1, $ 2' popis knjiga.txt

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi. Izlaz prikazuje formatirani sadržaj datoteke, isključujući prvi redak datoteke.

Primjer 6: Ispišite imena knjiga nakon preskakanja prvog retka pomoću NR i NF

Sljedeća naredba 'awk' koristi opciju '-F' i NR i NF za ispis imena knjiga nakon preskakanja prve knjige. Opcija '-F' koristi se za odvajanje sadržaja baze datoteka na \ t. NR se koristi za preskakanje prvog retka, a NF koristi se za ispis samo prvog stupca.

$ mačka popis knjiga.txt
$ awk -F '\ t' 'NR> 1 && NF = 1' popis knjiga.txt

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi. Izlaz uključuje sva imena knjiga u datoteci, osim imena prve knjige.

Primjer 7: Ispišite oblikovana imena autora nakon preskakanja prvog retka

Sljedeća naredba 'awk' koristi opciju '-F' i uvjetnu izjavu za ispis imena autora nakon preskakanja prvog retka. Ovdje se koristi NR vrijednost u stanju if. Ovdje će se kao prvi redak umjesto sadržaja iz prvog retka ispisati "Ime autora: \ n \ n". Imena autora iz datoteke bit će ispisana za ostale vrijednosti NR.

$ mačka popis knjiga.txt
$ awk -F '\ t' 'if (NR == 1) printf "\ nAutor Ime: \ n \ n"; inače printf "% s \ n", $ 2 'popis knjiga.txt

Sljedeći će se izlaz dobiti nakon izvršavanja gornjih naredbi. U izlazu se prikazuje tekst "Ime autora:" s novim redom, a ispisuju se sva imena autora, osim prvog.

Zaključak

Prvi redak datoteke može se preskočiti pomoću različitih Linux naredbi. Kao što je prikazano u ovom vodiču, postoje različiti načini preskakanja prvog retka datoteke pomoću naredbe 'awk'. Primjetno je da se NR varijabla naredbe 'awk' može koristiti za preskakanje prvog retka bilo koje datoteke.

Top 5 ergonomskih proizvoda za računalni miš za Linux
Uzrokuje li dugotrajno korištenje računala bolove u zapešću ili prstima? Patite li od ukočenih zglobova i stalno se morate rukovati? Osjećate li goruć...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Zamijenite svoje tipke miša različito za različiti softver pomoću X-Mouse Button Control
Možda vam treba alat koji bi mogao promijeniti kontrolu miša sa svakom aplikacijom koju koristite. Ako je to slučaj, možete isprobati aplikaciju pod n...