'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 passordEksempel-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.