Awk

Kaip atsispausdinti stulpelių diapazoną naudojant komandą 'awk'

Kaip atsispausdinti stulpelių diapazoną naudojant komandą 'awk'
„Awk“ komanda yra viena iš daugelio komandų, kuriomis galima atsispausdinti stulpelių diapazoną iš lentelės duomenų sistemoje „Linux“. Komandą „awk“ galima naudoti tiesiogiai iš terminalo, vykdant scenarijaus failą „awk“. Šioje pamokoje parodysime, kaip iš lentelių duomenų atsispausdinti stulpelių diapazoną.

1 pavyzdys: iš komandų išvesties atspausdinkite stulpelių diapazoną

Ši komanda atspausdins antrą, trečią ir ketvirtą stulpelius iš komandos išvesties, 'ls -l". Čia stulpelių numeriai nurodomi aiškiai, tačiau kitame pavyzdyje parodyta efektyvesnė komanda spausdinti tą patį stulpelių diapazoną.

$ ls -l | awk 'print $ 2, $ 3, $ 4'

Ši išvestis sukuriama aukščiau esančia komanda.

2 pavyzdys: Spausdinkite stulpelių diapazoną iš failo naudodami a dėl kilpa

Norėdami sekti šį pavyzdį ir kitus šios mokymo programos pavyzdžius, sukurkite tekstinį failą pavadinimu ženklų.txt turinį:

ID CSE203 CSE102 CSE202
1109 78 87 79
1167 67 81 70
1190 56 61 69
1156 89 55 78
199 54 66 58

Ši komanda „awk“ atspausdins pirmuosius tris ženklų stulpelius.txt. The dėl kilpa naudojama stulpelių reikšmėms spausdinti, o kilpa apima tris veiksmus. The NF kintamasis nurodo bendrą failo laukų ar stulpelių skaičių.

$ katės ženklai.txt
$ awk 'už (i = 1; i<=NF-1;i++) printf $i" "; print ""' marks.txt

Ši išvestis bus sukurta paleidus komandą. Rezultatas rodo studentą Asmens tapatybės dokumentai ir ženklai CSE203 ir CSE102.

3 pavyzdys: išspausdinkite stulpelių diapazoną apibrėždami pradinius ir baigiamuosius kintamuosius

Ši komanda „awk“ atspausdins pirmuosius tris stulpelius iš komandos išvesties „ls -l“, inicijuodama pradedant ir pabaigos kintamieji. Čia vertė pradedant kintamasis yra 1, o reikšmė pabaigos kintamasis yra 3. Šie kintamieji kartojami „for“ cikle, kad būtų išspausdintos stulpelio vertės.

$ ls -l | awk 'BEGIN pirma = 1; paskutinis = 3
už (i = pirmas; t < last; i++) printf("%s ", $i) print $last '

Paleidus komandą pasirodys toks išvestis. Išvestyje rodomos pirmosios trys išvesties stulpelių vertės „ls -l“.

4 pavyzdys: spausdinkite stulpelių diapazoną iš failo su formatavimu

Ši komanda „awk“ atspausdins pirmuosius tris ženklų.txt naudojant printf ir išvesties lauko separatorius (OFS). Čia „for loop“ apima tris veiksmus ir trys stulpeliai bus išspausdinti iš failo eilės tvarka. OFS čia naudojamas tarpams tarp stulpelių pridėti. Kai kilpos (i) skaitiklio vertė lygi pabaigos kintamasis, tada sukuriama nauja eilutė (\ n).

$ katės ženklai.txt
$ awk -v pradžia = 1 -v pabaiga = 3 'už (i = pradžia; i<=end;i++) printf("%s%s",
$ i, (i == pabaiga) ? "\ n": OFS) 'ženklai.txt

Šis išėjimas bus sugeneruotas paleidus aukščiau nurodytas komandas.

5 pavyzdys: Spausdinkite stulpelių diapazoną iš failo naudodami sąlyginį sakinį

Ši komanda „awk“ išspausdins pirmąjį ir paskutinį failo stulpelius naudodami „for loop“ ir „if“ sakinius. Čia „for loop“ apima keturis žingsnius. The pradedant ir pabaigos kintamieji scenarijuje naudojami norint praleisti antrą ir trečią stulpelius iš failo naudojant sąlygą if. OFS kintamasis naudojamas tarpui tarp stulpelių pridėti, o ORS kintamasis naudojamas pridėti naują eilutę (\ n) atsispausdinus paskutinį stulpelį.

$ katės ženklai.txt
$ awk -v pradžia = 2 -v pabaiga = 3 'už (i = 1; i<=NF;i++)
jei (i> = pradžia && i<=end) continue;
dar printf ("% s% s", $ i, (t!= NF) ? OFS: ORS) 'ženklai.txt

Paleidus minėtas komandas pasirodys toks išvestis. Išvestyje rodomi pirmieji ir paskutiniai ženklų stulpeliai.txt.

6 pavyzdys: Spausdinkite stulpelių diapazoną iš failo naudodami kintamąjį NF

Naudojant NF kintamąjį, komanda „awk“ išspausdins pirmąjį ir paskutinį failo stulpelius. Stulpelių reikšmėms spausdinti nenaudojamos jokios kilpos ar sąlyginiai teiginiai. NF nurodo laukų skaičių. Yra keturi stulpeliai ženklais.txt. $ (NF-3) apibrėžia pirmąjį stulpelį, o $ NF nurodo paskutinį stulpelį.

$ katės ženklai.txt
$ awk 'print $ (NF-3) "" $ NF' ženklai.txt

Ši išvestis sukuriama vykdant minėtas komandas. Išvestyje rodomi pirmieji ir paskutiniai ženklų stulpeliai.txt.

7 pavyzdys: Spausdinkite stulpelių diapazoną iš failo naudodami substr () ir index ()

Funkcija index () grąžina poziciją, jei pirmosios argumento reikšmėje yra antroji argumento reikšmė. Funkcija substr () gali turėti tris argumentus. Pirmasis argumentas yra eilutės reikšmė, antrasis argumentas yra pradinė pozicija, o trečiasis argumentas yra ilgis. Trečiasis substr () argumentas praleidžiamas šioje komandoje. Kadangi komandos „awk“ stulpelis prasideda nuo $ 1, funkcija index () grąžins $ 3, o komanda spausdins nuo $ 3 iki $ 4.

$ katės ženklai.txt
$ awk 'print substr ($ 0, index ($ 0, $ 3))' ženklai.txt

Ši išvestis bus sukurta vykdant minėtas komandas.

8 pavyzdys: Nuosekliai išspausdinkite stulpelių diapazoną iš failo naudodami „printf“

Ši komanda „awk“ atspausdins pirmąjį, antrąjį ir trečiąjį ženklų stulpelius.txt nustatydami pakankamai vietos 10 simbolių.

$ katės ženklai.txt
$ awk '// printf "% 10s% 10s% 10s \ n", $ 1, $ 3, $ 2' ženklai.txt

Ši išvestis bus sukurta vykdant minėtas komandas.

Išvada

Yra daugybė būdų, kaip atspausdinti stulpelių diapazoną iš komandos išvesties ar failo. Ši pamoka parodo, kaip komanda „awk“ gali padėti „Linux“ vartotojams atsispausdinti turinį iš lentelių duomenų.

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...
Peržiūrėkite pelės mygtukus skirtingai programinei įrangai naudodami „X-Mouse Button Control“
Galbūt jums reikia įrankio, kuris galėtų pakeisti jūsų pelės valdymą kiekvienoje jūsų naudojamoje programoje. Tokiu atveju galite išbandyti programą, ...
„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....