„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 HesloMd. 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.