Hvordan du kan analysere den fane-avgrensede filen ved å bruke 'awk'

Hvordan du kan analysere den fane-avgrensede filen ved å bruke 'awk'

'Tab' brukes som en separator i den avgrensede filen. Denne typen tekstfil er opprettet for å lagre forskjellige typer tekstdata i et strukturert format. Ulike kommandoer finnes i Linux for å analysere denne typen filer. 'AWK' -kommando er en av måtene å analysere den fane-avgrensede filen på forskjellige måter. Bruken av 'AWK' -kommandoen for å lese den faneavgrensede filen har vist i denne opplæringen.

Opprett en fane-avgrenset fil:

Lag en tekstfil som heter Brukere.tekst med følgende innhold for å teste kommandoene til denne opplæringen. Denne filen inneholder brukerens navn, e -post, brukernavn og passord.

Brukere.tekst

Navn e -post brukernavn passord
MD. Robin [email protected] Robin89 563425
Nila hasan [email protected] nila78 245667
Mirza abbas [email protected] mirza23 534788
Aornob hasan [email protected] arnob45 778473
Nuhas ahsan [email protected] nuhas34 563452

Eksempel-1: Skriv ut den andre kolonnen i en tab-avgrenset fil ved hjelp av -f-alternativet

Følgende 'Sed' -kommando vil skrive ut den andre kolonnen i en tab-avgrenset tekstfil. Her, The '-F' Alternativet brukes til å definere feltets separator for filen.

$ kattebrukere.tekst
$ awk -f '\ t' 'skriv ut $ 2' brukere.tekst

Følgende utgang vises etter å ha kjørt kommandoene. Den andre kolonnen i filen inneholder brukerens e -postadresser, som vises som utdata.

Eksempel-2: Skriv ut den første kolonnen i en tab-avgrenset fil ved hjelp av FS-variabelen

Følgende 'Sed' -kommando vil skrive ut den første kolonnen i en tab-avgrenset tekstfil. Her, Fs (Felteseparator) Variabel brukes til å definere feltets separator for filen.

$ kattebrukere.tekst
$ awk 'skriv ut $ 1' fs = '\ t' brukere.tekst

Følgende utgang vises etter å ha kjørt kommandoene. Den første kolonnen i filen inneholder brukerens navn, som vises som utdata.

Eksempel-3: Skriv ut den tredje kolonnen i en tab-avgrenset fil med formatering

Følgende 'Sed' -kommando vil skrive ut den tredje kolonnen i den faneavdelte tekstfilen med formatering ved å bruke Fs variabel og printf. Her, The Fs Variabel brukes til å definere feltets separator for filen.

$ kattebrukere.tekst
$ awk 'begynn fs = "\ t" printf "%10s \ n", $ 3' brukere.tekst

Følgende utgang vises etter å ha kjørt kommandoene. Den tredje kolonnen i filen inneholder brukernavnet som er skrevet ut her.

Eksempel-4: Skriv ut de tredje og fjerde kolonnene i den fane-avgrensede filen ved å bruke OFS

OFS (Output Field Separator) brukes til å legge til en feltseparator i utgangen. Følgende 'AWK' -kommando vil dele innholdet i filen basert på fanen (\ t) separator og skrive ut 3. og fjerde kolonner ved hjelp av fanen (\ t) som separator.

$ kattebrukere.tekst
$ awk -f "\ t" 'ofs = "\ t" skriv ut $ 3, $ 4> ("output.txt ") 'brukere.tekst
$ katteutgang.tekst

Følgende utgang vises etter å ha kjørt kommandoene ovenfor. De tredje og fjerde kolonnene inneholder brukernavn og passord, som er skrevet ut her.

Eksempel-5: Erstatt det aktuelle innholdet i den avgrensede filen

Sub () -funksjon brukes i 'AWK for å kommando for erstatning. Følgende 'AWK' -kommando vil søke på nummeret 45 og erstatte nummer 90 hvis søknummeret finnes i filen. Etter substitusjonen vil innholdet i filen bli lagret i utgangen.txt -fil.

$ kattebrukere.tekst
$ awk -f "\ t" 'sub (/45/, 90); print' brukere.txt> output.tekst
$ katteutgang.tekst

Følgende utgang vises etter å ha kjørt kommandoene ovenfor. Utgangen.TXT -fil viser det modifiserte innholdet etter å ha anvendt erstatning. Her har innholdet på den 5. linjen endret seg, og 'Arnob45' endres til 'ARNOB90'.

Eksempel-6: Legg til streng i begynnelsen av hver linje i en tab-avgrenset fil

I det følgende brukes 'AWK' -kommandoen, '-f' -alternativet til å dele inn innholdet i filen basert på fanen (\ t). OFS har brukt til å legge til et komma (,) som feltskiller i utgangen. Sub () -funksjon brukes til å legge til strengen '-→' i begynnelsen av hver linje av utgangen.

$ kattebrukere.tekst
$ awk -f "\ t" 'ofs = ","; sub (/^/, "---->"); skriv ut $ 1, $ 2, $ 3' brukere.tekst

Følgende utgang vises etter å ha kjørt kommandoene ovenfor. Hver feltverdi skilles med komma (,) og en streng legges til i begynnelsen av hver linje.

Eksempel-7: Erstatt verdien av en tab-avgrenset fil ved å bruke GSUB () -funksjonen

GSUB () -funksjonen brukes i 'AWK' -kommandoen for global substitusjon. Alle strengverdier for filen vil erstatte der søkemønsteret samsvarer med. Hovedforskjellen mellom sub () og GSUB () -funksjonene er at sub () -funksjonen stopper substitusjonsoppgaven etter å ha funnet den første kampen, og GSUB () -funksjonen søker i mønsteret på slutten av filen for erstatning. Følgende 'awk' -kommando vil søke på ordet 'nila' og 'mira' globalt i filen og erstatte alle forekomster etter teksten, 'ugyldig navn', der det søkende ordet samsvarer.

$ kattebrukere.tekst
$ awk -f '\ t' 'gsub (/nila | mira/, "ugyldig navn"); print 'brukere.tekst

Følgende utgang vises etter å ha kjørt kommandoene ovenfor. Ordet 'nila' eksisterer to ganger i den tredje linjen i filen som er erstattet av ordet 'ugyldig navn' i utgangen.

Eksempel-8: Skriv ut det formaterte innholdet fra en tab-avgrenset fil

Følgende 'AWK' -kommando vil skrive ut den første og de andre kolonnene i filen med formatering ved å bruke Printf. Utgangen vil vise brukerens navn ved å legge til e -postadressen i parentes.

$ kattebrukere.tekst
$ awk -f '\ t' 'printf "%s (%s) \ n", $ 1, $ 2' brukere.tekst

Følgende utgang vises etter å ha kjørt kommandoene ovenfor.

Konklusjon

Enhver fane-avgrenset fil kan enkelt analyseres og skrives ut med en annen avgrenser ved å bruke 'AWK' -kommandoen. Måtene å analysere fane-avgrensede filer og utskrift i forskjellige formater har vist i denne opplæringen ved å bruke flere eksempler. Bruken av Sub () og GSUB () -funksjonene i 'AWK' -kommandoen for å erstatte innholdet i den faneavdelte filen er også forklart i denne opplæringen. Jeg håper denne opplæringen vil hjelpe leserne med å analysere den fane-avgrensede filen lett etter å ha praktisert eksemplene på denne opplæringen riktig.