Ahoj

Ako analyzovať súbor oddelený tabulátormi pomocou súboru „awk“

Ako analyzovať súbor oddelený tabulátormi pomocou súboru „awk“

„karta“ sa používa ako oddeľovač v súbore oddelenom tabulátormi. Tento typ textového súboru je vytvorený na ukladanie rôznych typov textových údajov v štruktúrovanom formáte.  V systéme Linux existujú rôzne typy príkazov na analýzu tohto typu súborov.  Príkaz 'awk' je jedným zo spôsobov, ako analyzovať súbor oddelený tabulátormi rôznymi spôsobmi. V tomto výučbe sa zobrazuje použitie príkazu „awk“ na čítanie súboru s hodnotami oddelenými tabulátormi.

Vytvorte súbor oddelený tabulátormi:

Vytvorte textový súbor s názvom používateľov.TXT s nasledujúcim obsahom na testovanie príkazov tohto tutoriálu. Tento súbor obsahuje meno používateľa, e-mail, používateľské meno a heslo.

používateľov.TXT

Meno E-mail Používateľské meno Heslo
Md. Robin [chránený e-mailom] robin89 563425
Nila Hasan [chránený e-mailom] nila78 245667
Mirza Abbas [chránený e-mailom] mirza23 534788
Aornob Hasan [chránený e-mailom] arnob45 778473
Nuhas Ahsan [chránený e-mailom] nuhas34 563452

Príklad-1: Vytlačte druhý stĺpec súboru s hodnotami oddelenými tabulátormi pomocou voľby -F

Nasledujúci príkaz 'sed' vytlačí druhý stĺpec textového súboru oddeleného tabulátormi. Tu je „-F“ voľba slúži na definovanie oddeľovača polí súboru.

$ používatelia mačiek.TXT
$ awk -F '\ t' print $ 2 'používateľov.TXT

Po vykonaní príkazov sa zobrazí nasledujúci výstup. Druhý stĺpec súboru obsahuje e-mailové adresy používateľa, ktoré sa zobrazujú ako výstup.

Príklad 2: Vytlačte prvý stĺpec súboru s hodnotami oddelenými tabulátormi pomocou premennej FS

Nasledujúci príkaz 'sed' vytlačí prvý stĺpec textového súboru oddeleného tabulátormi. Tu, FS Premenná (Oddeľovač polí) sa používa na definovanie oddeľovača polí súboru.

$ používatelia mačiek.TXT
$ awk 'print $ 1' FS = '\ t' používatelia.TXT

Po vykonaní príkazov sa zobrazí nasledujúci výstup. Prvý stĺpec súboru obsahuje mená používateľov, ktoré sa zobrazujú ako výstup.

Príklad 3: Vytlačte tretí stĺpec súboru s hodnotami oddelenými tabulátormi s formátovaním

Nasledujúci príkaz 'sed' vytlačí tretí stĺpec textového súboru oddeleného tabulátormi s formátovaním pomocou FS premenná a printf. Tu je FS premenná sa používa na definovanie oddeľovača polí súboru.

$ používatelia mačiek.TXT
$ awk 'BEGIN FS = "\ t" printf "% 10s \ n", $ 3 používateľov.TXT

Po vykonaní príkazov sa zobrazí nasledujúci výstup. Tretí stĺpec súboru obsahuje používateľské meno, ktoré bolo vytlačené tu.

Príklad-4: Vytlačte tretí a štvrtý stĺpec súboru s hodnotami oddelenými tabulátormi pomocou OFS

OFS (Output Field Separator) sa používa na pridanie oddeľovača polí do výstupu. Nasledujúci príkaz „awk“ rozdelí obsah súboru na základe oddeľovača tabulátora (\ t) a vytlačí 3. a 4. stĺpec pomocou tabulátora (\ t) ako oddeľovača.

$ používatelia mačiek.TXT
$ awk -F "\ t" 'OFS = "\ t" tlačiť $ 3, $ 4> ("výstup.Používatelia súboru txt ").TXT
$ mačací výstup.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup. 3. a 4. stĺpec obsahuje užívateľské meno a heslo, ktoré boli vytlačené tu.

Príklad 5: Nahraďte konkrétny obsah súboru oddeleného tabulátormi

Funkcia sub () sa používa v príkazovom riadku 'awk' na nahradenie. Nasledujúci príkaz „awk“ prehľadá číslo 45 a nahradí číslom 90, ak hľadané číslo v súbore existuje. Po nahradení sa obsah súboru uloží na výstup.súbor txt.

$ používatelia mačiek.TXT
$ awk -F "\ t" 'sub (/ 45 /, 90); tlač' používateľov.txt> výstup.TXT
$ mačací výstup.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup. Výstup.Súbor txt zobrazuje upravený obsah po vykonaní zámeny. Tu sa obsah piateho riadku upravil a znak „arnob45“ sa zmenil na „arnob90“.

Príklad-6: Pridajte reťazec na začiatok každého riadku súboru s hodnotami oddelenými tabulátormi

Ďalej sa v príkaze „awk“ používa možnosť „-F“ na rozdelenie obsahu súboru na základe karty (\ t). OFS použil na výstup čiarku (,) ako oddeľovač polí. Funkcia sub () slúži na pridanie reťazca '- →' na začiatok každého riadku výstupu.

$ používatelia mačiek.TXT
$ awk -F "\ t" 'OFS = ","; sub (/ ^ /, "---->"); tlač používateľov v hodnote $ 1, $ 2, $ 3.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup. Každá hodnota poľa je oddelená čiarkou (,) a na začiatok každého riadku sa pridá reťazec.

Príklad-7: Nahraďte hodnotu súboru s hodnotami oddelenými tabulátormi pomocou funkcie gsub ()

Funkcia gsub () sa používa v príkaze 'awk' na globálnu substitúciu. Všetky reťazcové hodnoty súboru nahradia miesto, kde sa zhoduje vzor vyhľadávania. Hlavný rozdiel medzi funkciami sub () a gsub () je v tom, že funkcia sub () zastaví úlohu nahradenia po nájdení prvej zhody a funkcia gsub () vyhľadá vo vzorke na konci súboru náhradu. Nasledujúci príkaz „awk“ prehľadá v súbore slovo „nila“ a „Mira“ globálne a všetky výskyty nahradí textom „Neplatné meno“, v ktorom sa hľadané slovo zhoduje.

$ používatelia mačiek.TXT
$ awk -F '\ t' 'gsub (/ nila | Mira /, "neplatné meno"); používatelia print.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup. Slovo „nila“ existuje dvakrát v 3. riadku súboru, ktorý bol vo výstupe nahradený slovom „neplatný názov“.

Príklad 8: Tlačte naformátovaný obsah zo súboru oddeleného tabulátormi

Nasledujúci príkaz 'awk' vytlačí prvý a druhý stĺpec súboru s formátovaním pomocou printf. Na výstupe sa zobrazí meno používateľa a v zátvorkách sa uvedie e-mailová adresa.

$ používatelia mačiek.TXT
$ awk -F '\ t' 'print print "% s (% s) \ n", $ 1, $ 2 používateľov.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup.

Záver

Akýkoľvek súbor oddelený tabulátormi možno ľahko analyzovať a vytlačiť pomocou iného oddeľovača pomocou príkazu „awk“. V tejto príručke sú uvedené spôsoby analýzy súborov oddelených tabulátormi a tlače v rôznych formátoch pomocou viacerých príkladov. V tejto príručke je tiež vysvetlené použitie funkcií sub () a gsub () v príkaze 'awk' na nahradenie obsahu súboru s hodnotami oddelenými tabulátormi. Dúfam, že tento návod pomôže čitateľom ľahko analyzovať súbor oddelený tabulátormi po správnom precvičení príkladov tohto tutoriálu.

Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvorenie vlastnej simulácie dopravy môže byť zábavné, relaxačné a mimoriadne lákavé. Preto sa musíte uistiť, že vyskúšate čo najviac hier, aby ste n...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z najpopulárnejších obchodných simulačných hier. V tejto hre musíte vytvoriť úžasné dopravné podnikanie. Začnete však na začiatku ok...
Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...