Awk

Kaip atsispausdinti pirmąjį arba paskutinį stulpelį arba abu naudojant „awk“

Kaip atsispausdinti pirmąjį arba paskutinį stulpelį arba abu naudojant „awk“

„Linux“ komanda „awk“ yra galingas įrankis įvairioms teksto failų operacijoms, tokioms kaip paieška, pakeitimas ir spausdinimas. Tai lengva naudoti su lentelės duomenimis, nes kiekviena eilutė automatiškai padalijama į laukus arba stulpelius, atsižvelgiant į laukų skyriklį. Kai dirbate su tekstiniu failu, kuriame yra lentelių duomenys, ir norite atspausdinti konkretaus stulpelio duomenis, tada geriausia parinktis yra „awk“. Šioje pamokoje parodysime, kaip atsispausdinti pirmąjį ir (arba) paskutinį eilutės ar teksto failo stulpelį.

Atspausdinkite pirmąjį ir (arba) paskutinį komandos išvesties stulpelį

Daugelis „Linux“ komandų, pvz., „Ls“ komanda, generuoja lentelių išvestis. Čia parodysime, kaip išspausdinti pirmąjį stulpelį ir (arba) paskutinį stulpelį iš komandos „ls -l“ išvesties.

1 pavyzdys: išspausdinkite pirmąjį komandos išvesties stulpelį

Ši komanda „awk“ atspausdins pirmąjį stulpelį iš komandos „ls -l“ išvesties.

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

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas.

2 pavyzdys: atsispausdinkite paskutinį komandos išvesties stulpelį

Ši komanda „awk“ atspausdins paskutinį stulpelį iš komandos „ls -l“ išvesties.

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

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas.

3 pavyzdys: išspausdinkite pirmąjį ir paskutinį komandos išvesties stulpelius

Ši komanda „awk“ atspausdins pirmąjį ir paskutinį stulpelius iš komandos „ls -l“ išvesties.

$ ls -l
$ ls -l | awk 'print $ 1, $ NF'

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas.

Spausdinkite pirmąjį ir (arba) paskutinį teksto failo stulpelį

Čia parodysime, kaip naudoti komandą „awk“, norint atsispausdinti pirmąjį ir (arba) paskutinį teksto failo stulpelį.

Sukurkite tekstinį failą

Norėdami sekti šią mokymo programą, sukurkite tekstinį failą pavadinimu klientų.txt turinį. Faile yra trijų tipų klientų duomenys: vardas su ID, el. Paštas ir telefono numeris. Skirtuko simbolis (\ t) naudojamas šioms reikšmėms atskirti.

Vardas El. Paštas Telefonas
„Jonathon Bing“ - 1001 [saugoma el. Paštu] 01967456323
Michealas Jacksonas - 2006 m. [Saugoma el. Paštu] 01756235643
Janifer Lopez - 3029 [saugoma el. Paštu] 01822347865
Jonas Abraomas - 4235 j [saugoma el. Paštu] 01590078452
Miras Sabbiras - 2756 [saugoma el. Paštu] 01189523978

4 pavyzdys: atsispausdinkite pirmąjį failo stulpelį nenaudodami lauko skyriklio

Jei komandoje „awk“ nenaudojamas joks lauko skyriklis, tarpas naudojamas kaip numatytasis lauko skyriklis. Ši komanda „awk“ išspausdins pirmąjį stulpelį naudodama numatytąjį separatorių.

$ kačių klientų.txt
$ awk 'print $ 1' klientai.txt

Ši išvestis bus sukurta paleidus pirmiau nurodytas komandas. Atkreipkite dėmesį, kad išvestyje rodomas tik kliento vardas, nes tarpas naudojamas kaip lauko skyriklis. Šios problemos sprendimas parodytas kitame pavyzdyje.

5 pavyzdys: išspausdinkite pirmąjį failo stulpelį su skirikliu

Čia \ t naudojamas kaip lauko skyriklis pirmajam failo stulpeliui atsispausdinti. Parinktis „-F“ naudojama lauko separatoriui nustatyti.

$ kačių klientų.txt
$ awk -F '\ t' 'print $ 1' klientai.txt

Ši išvestis bus sukurta paleidus minėtas komandas. Failo turinys yra padalintas į tris stulpelius pagal \ t. Todėl kliento vardas ir ID spausdinami kaip pirmasis stulpelis. Jei norite atspausdinti kliento vardą be ID, pereikite prie kito pavyzdžio.


Jei norite atspausdinti kliento vardą be identifikatoriaus, turite naudoti „-“ kaip lauko skyriklį. Ši komanda „awk“ kliento vardą atspausdins tik kaip pirmąjį stulpelį.

$ kačių klientų.txt
$ awk -F '-' 'print $ 1' klientai.txt

Ši išvestis bus sukurta paleidus minėtas komandas. Išvestyje pateikiami visi kliento vardai be jų ID.

6 pavyzdys: atsispausdinkite paskutinį failo stulpelį

Ši komanda „awk“ atspausdins paskutinį klientų stulpelį.txt. Kadangi komandoje nenaudojamas jokio lauko skyriklis, tarpas bus naudojamas kaip lauko skyriklis.

$ kačių klientų.txt
$ awk 'print $ NF' klientai.txt

Ši išvestis bus sukurta paleidus minėtas komandas. Paskutiniame stulpelyje yra telefono numeriai, kaip parodyta išvestyje.

7 pavyzdys: atsispausdinkite pirmąjį ir paskutinį failo stulpelius

Ši komanda „awk“ atspausdins pirmąjį ir paskutinį klientų stulpelius.txt. Čia skirtukas (\ t) naudojamas kaip lauko skyriklis turinio dalijimui į stulpelius. Čia skirtukas (\ t) naudojamas kaip išvesties skyriklis.

$ kačių klientų.txt
$ awk -F "\ t" 'print $ 1 "\ t" $ NF' klientai.txt

Paleidus minėtas komandas pasirodys toks išvestis. Turinį \ t išskirsto į tris stulpelius; pirmajame stulpelyje nurodomas kliento vardas ir ID, o antrame - telefono numeris. Pirmasis ir paskutinis stulpeliai spausdinami naudojant skiriklį \ t.

Išvada

„Awk“ komandą galima pritaikyti įvairiai, kad gautumėte pirmąjį ir (arba) paskutinį stulpelius iš bet kurios komandos išvesties arba iš lentelių duomenų. Svarbu atkreipti dėmesį į tai, kad komandoje reikalingas lauko skyriklis, o jei jo nėra, tada naudojama erdvė.

Kaip naudoti „Xdotool“, norint paskatinti pelės paspaudimus ir klavišų paspaudimus sistemoje „Linux“
„Xdotool“ yra nemokamas ir atviro kodo komandinės eilutės įrankis, skirtas pelės paspaudimams ir klavišų paspaudimams imituoti. Šis straipsnis apims t...
5 populiariausi „Linux“ skirtų ergonomiškų kompiuterinių pelių produktai
Ar ilgalaikis kompiuterio naudojimas sukelia riešo ar pirštų skausmą?? Ar jūs kenčiate nuo sąnarių standumo ir nuolat turite paspausti rankas? Ar jauč...
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...