Awk

Kaip praleisti pirmąją failo eilutę naudojant „awk“

Kaip praleisti pirmąją failo eilutę naudojant „awk“

Linux sistemoje „awk“ komanda naudojama įvairiai. Pavyzdžiui, jis gali būti naudojamas teksto failo turiniui atsispausdinti. Pirmoje daugelio tekstinių failų eilutėje yra failo antraštė, o kartais pirmoji eilutė turi būti praleista spausdinant failo turinį. Šioje pamokoje parodysime, kaip atlikti šią užduotį naudojant komandą „awk“.

Sukurkite tekstinį failą

Norėdami sekti šią mokymo programą, sukurkite tabuliavimo ženklu atskirtą tekstinį failą pavadinimu knygų sąrašas.txt turinį. Šiame faile yra knygų su atitinkamais autoriais sąrašas. Šioje pamokoje parodysime, kaip atspausdinti skirtingas šio failo dalis praleidus pirmąją eilutę.

Kibernetinis saugumas su Paulu Troncone'u, Carlu Albingu
Komandinė eilutė „Kung Fu Jason Cannon“
„Linux“ komandinė eilutė „Travis Booth“
Bashas paprastais žingsniais Mike'as McGrathas
Unix paprastais žingsniais Mike'as McGrathas

1 pavyzdys: praleiskite pirmąją failo eilutę naudodami NR ir operatorių „>“

NR kintamasis nurodo failų įrašų skaičių. Ši komanda „awk“ naudoja NR kintamąjį, kad praleistų pirmąją failo eilutę. NR vertė yra 1 pirmoje eilutėje. Ši komanda išspausdins eilutes, kurių NR vertė yra didesnė nei 1.

$ kačių knygų sąrašas.txt
$ awk '(NR> 1)' knygų sąrašas.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas. Išvestyje yra visos eilutės, išskyrus pirmąją failo eilutę.

2 pavyzdys: praleiskite pirmąją eilutę naudodami NR ir '!= 'operatorius

Ši „awk“ komanda yra panaši į ankstesniame pavyzdyje pateiktą komandą. Tačiau „!= „vietoj„> “čia naudojamas„ palyginimo operatorius “.

$ kačių knygų sąrašas.txt
$ awk 'NR!= 1 'knygų sąrašas.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas. Išvestyje rodomos visos eilutės, išskyrus pirmąją failo eilutę.

3 pavyzdys: praleiskite pirmąją failo eilutę naudodami sąlyginį sakinį

Ši komanda „awk“ atspausdins failo eilutes, jei teiginys „if“ yra teisingas. Čia teiginys „if“ bus teisingas tik tada, kai NR reikšmė nebus lygi 1.

$ kačių knygų sąrašas.txt
$ awk 'if (NR!= 1) print knygų sąrašas.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas. Išvestyje yra visos eilutės, išskyrus pirmąją failo eilutę.

4 pavyzdys: spausdinkite knygų pavadinimus iš failo, bet praleiskite pirmąją eilutę

Šiame pavyzdyje naudojamos dvi komandos „awk“, kad būtų atspausdinti visi knygų pavadinimai, išskyrus pirmąjį. „Awk“ komanda nuskaitys pirmąjį failo stulpelį pagal lauko skiriklį (\ t) ir išsiųs išvestį į antrąją komandą „awk“. Antroji komanda „awk“ išspausdins norimą išvestį.

$ kačių knygų sąrašas.txt
$ awk -F "\ t" 'print $ 1' knygų sąrašas.txt | awk 'NR!= 1 spausdinti '

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas. Išvestyje rodomi visi knygų pavadinimai, išskyrus pirmosios knygos pavadinimus.

5 pavyzdys: Suformatuokite failo turinį praleidę pirmąją eilutę

Parinktis „-F“, kintamasis NR ir „printf“ yra naudojami šioje komandoje „awk“, kad generuotų suformatuotą išvestį praleidus pirmąją eilutę. Komanda padalins failo turinį į stulpelius pagal \ t, o „printf“ išspausdins pirmąjį ir antrąjį stulpelius, kai NR vertė yra bent 2.

$ kačių knygų sąrašas.txt
$ awk -F '\ t' 'NR> = 2 printf "% 30s% 20s \ n", $ 1, $ 2' knygų sąrašas.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas. Išvestyje rodomas suformatuotas failo turinys, išskyrus pirmąją failo eilutę.

6 pavyzdys: Spausdinkite knygų pavadinimus praleidę pirmąją eilutę naudodami NR ir NF

Ši komanda „awk“ naudoja parinktį „-F“, o NR ir NF knygų pavadinimams spausdinti praleidus pirmąją knygą. Parinktis „-F“ naudojama failų bazės turiniui atskirti \ t. NR naudojamas praleisti pirmąją eilutę, o NF naudojamas tik pirmajam stulpeliui spausdinti.

$ kačių knygų sąrašas.txt
$ awk -F '\ t' 'NR> 1 && NF = 1' knygų sąrašas.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas. Išvestyje yra visi faile esantys knygų pavadinimai, išskyrus pirmosios knygos pavadinimus.

7 pavyzdys: praleidę pirmąją eilutę atsispausdinkite suformatuotus autorių vardus

Ši komanda „awk“ naudoja parinktį „-F“ ir sąlyginį teiginį, kad autorių vardai būtų spausdinami praleidus pirmąją eilutę. Čia NR vertė naudojama esant sąlygai „if“. Čia vietoj pirmosios eilutės turinio bus spausdinama „Autoriaus vardas: \ n \ n“ kaip pirmoji eilutė. Autoriaus vardai iš bylos bus atspausdinti kitoms NR reikšmėms.

$ kačių knygų sąrašas.txt
$ awk -F '\ t' 'if (NR == 1) printf "\ nAutoriaus vardas: \ n \ n"; else printf "% s \ n", $ 2 'knygų sąrašas.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas. Išvestyje rodomas tekstas „Autoriaus vardas:“ su nauja eilute, o visi autorių vardai spausdinami, išskyrus pirmąjį.

Išvada

Pirmąją failo eilutę galima praleisti naudojant įvairias „Linux“ komandas. Kaip parodyta šioje pamokoje, yra skirtingi būdai praleisti pirmąją failo eilutę naudojant komandą „awk“. Pažymėtina, kad komandos „awk“ kintamąjį galima naudoti norint praleisti bet kurios bylos pirmąją eilutę.

Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...
Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...