Hva er awk nf?

Hva er awk nf?

"AWK" -funksjonen er et Linux -verktøy som brukes til tekstanalyse som tilbyr sterk datakontroll. For å bruke Linux -dataprogrammet og "AWK" -funksjonen, kan brukere evaluere, endre og generere de forberedte resultatene. "AWK NF" -variabelen brukes til å vise hvor mange filer, elementer eller andre elementer som er inneholdt i en linje av en hvilken som helst fil.

Arbeid av AWK NF

"AWK" -programmet fungerer på programmer som inneholder reglene som består av forskjellige mønstre og handlinger som utføres på tekst som samsvarer med mønsteret. Et mønster og handling utgjør en regel sammen. Hele “AWK” -programmet er deretter vedlagt i et enkelt sitat.

Nå bruker vi bare et enkelt eksempel for å demonstrere hva som skjer når vi skriver "hvem" i Ubuntu 20.04 Terminal. Denne kommandoen viser en informasjon om brukeren så vel som gjeldende tid og dato.

Linux@linux: ~ $ hvem

Vi kjører denne kommandoen ved å klikke på Enter på tastaturet som skriver ut datoen og klokkeslettet som henholdsvis "2022-12-08" og "15:06", før vi publiserer noe Whitespace og brukerens navn som "Linux".

Som standard tolker “AWK” et felt som en rekke tegn som er vedlagt i Whitespace i begynnelsen og slutten av en linje. Her demonstrerer vi hvordan du skriver en kommando ved å bruke "AWK" -parametrene og "hvem" for å hente det første feltet ved hjelp av dollarskiltet og nummer 1 ($ 1). Hvis vi ønsker å hente det første feltet fra en tekstfil eller andre data, bruker vi "$ 1" dollarskiltet med en. For dette bruker vi kommandoen der vi først skriver “hvem”. Deretter bruker vi dette "|" bar. Deretter legger vi plass ved å trykke på romfeltet på tastaturet. Vi skriver da "awk". Deretter bruker vi et omvendt komma, etterfulgt av krøllete parenteser. Til slutt bruker vi "trykte" ordet og "$ 1" -symbolet i disse parentesene.

Linux@linux: ~ $ hvem | awk 'skriv ut $ 1'

Som du kan se i det forrige utgangsbildet, når vi bare bruker “hvem” i terminalen og kjører dette, viser det brukernavnet sammen med nødvendig informasjon som inkluderer dato og klokkeslett. Men fordi vi bruker "print $ 1" med "awk" i forrige kommando, skriver den bare ut det første feltet fordi "$ 1" brukes til å skrive ut det første feltet i filen blant annet.

Opprette en tekstfil på skrivebordet ved hjelp av terminalen og skrive ut alt innholdet med "AWK"

Siden "AWK" brukes til å skrive ut hele innholdet i en fil på terminalen, oppretter vi en tekstfil som det første trinnet og skriver ut informasjonen til filen på terminalen. Her oppretter vi en tekstfil på skrivebordet ved hjelp av terminalen. For dette skriver vi kommandoen der vi skriver “Nano” som tekstredigerer. Deretter bruker vi symbolet (~) etterfulgt av skråstreken “/”. Deretter skriver vi “Desktop” fordi vi oppretter en fil på skrivebordet etterfulgt av Slash “/”. Igjen, vi skriver deretter navnet på filen som vi ønsker å lage. Til slutt lager vi en fil som heter "TextFile" med ".txt ”utvidelse fordi det er en tekstfil.

Linux@linux: ~ $ nano ~/desktop/textfile.tekst

Derfor viser en terminal en blank skjerm til oss når vi legger inn denne kommandoen, som demonstrert i følgende bilde:

Vi legger inn dataene ved å skrive dem inn i terminalen som vi vil lagre i tekstfilen. For å gjøre dette, lager vi fem linjer. Den første inneholder ordet "hei". Den andre inneholder "hei". Den tredje inneholder “Hei”. Den fjerde inneholder to elementer, “Goodbye” og “123”. Og den femte linjen er tom, som vist i følgende bilde:

Når vi trykker på “Ctrl-X” etter å ha lagt inn dataene i “TextFile.txt ”-filen,“ ja ​​”eller“ nei ”-valget vises på skjermen. Vi vet at vi vil lagre filen. Så vi trykker på “Ctrl-y” for å lagre filen, og filen er opprettet med hell.

Følgende bilde viser filen som vises:

Som vi vet lagres filen på skrivebordet. Vi må først legge til en katalog på skrivebordet ved hjelp av “CD Desktop/” -kommandoen og deretter trykke Enter -tasten.

Linux@linux: ~ $ cd desktop/

Nå bruker vi “AWK” -funksjonen for å hente innholdet i den nyopprettede filen, “TextFile.txt ”, og vis dem på skjermen. For å gjøre dette, bruker vi kommandoen der vi først skriver “AWK”. Deretter bruker vi de omvendte kommaene inne i dette. Vi setter de krøllete parentesene og skriver “Skriv ut $ 0”. Deretter bruker vi et rom. Til slutt skriver vi filnavnet, “TextFile.tekst".

Linux@linux: ~/desktop $ awk 'print $ 0' textfile.tekst

Når vi utfører denne kommandoen, vises innholdet i tekstfilen som du kan se i følgende bilde. Den første linjen i denne filen har ordet "hei" etterfulgt av "hei". Ordet "hei" vises på den tredje linjen. To elementer er oppført på fjerde linje. Og den femte linjen er tom.

Viser filens innhold med linjenumre

Ved å bruke "NR" -variabelen i kommandoen, skriver vi inn innholdet i filen sammen med linjenummeret i neste del. For å gjøre dette bruker vi kommandoen der vi først skriver “AWK”. Så, etter et rom, bruker vi et omvendt komma. Innvendig plasserer vi de krøllete parentesene. Deretter skriver vi utskrift. Endelig skriver vi “NR”. Deretter legger vi et komma og skriver "$ 0". Deretter går vi ut fra braketten og omvendt komma. Til slutt skriver vi filnavnet, “TextFile.tekst".

Linux@linux: ~/desktop $ awk 'print nr, $ 0' textfile.tekst

Som du kan se i resultatet, vises filens innhold med linjenumre som viser at den inneholder “5” linjer.

Viser den totale mengden data per linje ved hjelp av NF

I denne delen viser vi det totale antall elementer i hver linje. For å gjøre dette bruker vi kommandoen der vi først skriver “AWK” og følger deretter de samme trinnene som i forrige kommando, men vi bruker “NF” -variabelen etter å ha skrevet “Print” -parameteren. Deretter lukker vi de krøllete parentesene og omvendte kommaene. Deretter skriver vi filnavnet, “TextFile.tekst".

Linux@linux: ~/desktop $ awk 'print nf' textfile.tekst

Antall elementer som er til stede i filen er nå vist i utdataene. De tre første linjene inkluderer "1" elementer. Den fjerde linjen inneholder “2” elementer. Og den siste linjen er tom i filen. Derfor viser det “0”.

Eliminere de blanke linjene

I denne delen sletter vi den tomme linjen fra filen. For å gjøre dette, bruker vi kommandoen der vi først bruker "AWK". Deretter bruker vi “NF> 0” som er tilstanden som sier å skrive ut linjen hvis antall elementer er større enn “0”. Ellers vil linjen ikke vise det. Deretter bruker vi samme prosedyre som vi gjorde i forrige seksjon.

Linux@linux: ~/desktop $ awk 'nf> 0 print $ 0' textfile.tekst

Siden linje fem av filen er tom, vises den ikke på skjermen. I stedet vises bare linjene som inneholder elementene eller elementene. Derfor vises de fire første linjene i filen fordi de inneholder dataene, mens den siste linjen blir slettet fordi den ikke har noen data.

Konklusjon

I denne artikkelen snakket vi om hvordan vi bruker "AWK NF" -funksjonen i Ubuntu 20.04 for å skrive ut data eller informasjon om tekstfilene. I det første trinnet demonstrerte vi hvordan "AWK" -funksjonen fungerer. I det andre trinnet opprettet vi en tekstfil på skrivebordet og brukte "AWK" -funksjonens forskjellige parametere som "NR" for å skrive ut linjene i filen med tall. Deretter brukte vi “NF” for å telle antall elementer som er til stede i hver linje i filen. I det siste trinnet slettet vi den tomme linjen fra filen ved å bruke en tilstand ved å bruke "NF".