Ahoj

Ako tlačiť prvý stĺpec, posledný stĺpec alebo obidva pomocou nástroja „awk“

Ako tlačiť prvý stĺpec, posledný stĺpec alebo obidva pomocou nástroja „awk“

Príkaz „awk“ systému Linux je mocný nástroj na rôzne operácie s textovými súbormi, ako je napríklad vyhľadávanie, nahrádzanie a tlač. Používanie s tabuľkovými údajmi je jednoduché, pretože každý riadok automaticky rozdeľuje na polia alebo stĺpce na základe oddeľovača polí. Ak pracujete s textovým súborom, ktorý obsahuje tabuľkové údaje, a chcete vytlačiť údaje konkrétneho stĺpca, je najlepšou voľbou príkaz „awk“. V tomto návode si ukážeme, ako vytlačiť prvý stĺpec a / alebo posledný stĺpec riadku alebo textového súboru.

Vytlačí prvý stĺpec a / alebo posledný stĺpec výstupu príkazu

Mnoho príkazov Linux, ako napríklad príkaz „ls“, generuje tabuľkové výstupy. Tu vám ukážeme, ako vytlačiť prvý a / alebo posledný stĺpec z výstupu príkazu 'ls -l'.

Príklad 1: Tlač prvého stĺpca výstupu príkazu

Nasledujúci príkaz „awk“ vytlačí prvý stĺpec z výstupu príkazu „ls -l“.

$ ls -l
$ ls -l | awk 'print $ 1'

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

Príklad 2: Vytlačte posledný stĺpec výstupu príkazu

Nasledujúci príkaz „awk“ vytlačí posledný stĺpec z výstupu príkazu „ls -l“.

$ ls -l
$ ls -l | awk 'print $ NF'

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

Príklad 3: Tlač prvého a posledného stĺpca výstupu príkazu

Nasledujúci príkaz „awk“ vytlačí prvý a posledný stĺpec z výstupu príkazu „ls -l“.

$ ls -l
$ ls -l | awk 'print $ 1, $ NF'

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

Vytlačte prvý stĺpec a / alebo posledný stĺpec textového súboru

Tu vám ukážeme, ako pomocou príkazu „awk“ vytlačiť prvý stĺpec a / alebo posledný stĺpec textového súboru.

Vytvorte textový súbor

Ak chcete pokračovať v tejto príručke, vytvorte textový súbor s názvom zákazníkov.TXT s nasledujúcim obsahom. Súbor obsahuje tri typy údajov o zákazníkoch: meno s ID, e-mail a telefónne číslo. Na oddelenie týchto hodnôt sa používa znak tabulátora (\ t).

Meno E-mail Telefón
Jonathon Bing - 1001 [chránený e-mailom] 01967456323
Micheal Jackson - 2006 [chránený e-mailom] 01756235643
Janifer Lopez - 3029 [chránený e-mailom] 01822347865
John Abraham - 4235 j [chránený e-mailom] 01590078452
Mir Sabbir - 2756 [chránený e-mailom] 01189523978

Príklad 4: Vytlačte prvý stĺpec súboru bez použitia oddeľovača polí

Ak sa v príkaze „awk“ nepoužíva žiadny oddeľovač polí, použije sa ako predvolený oddeľovač polí medzera. Nasledujúci príkaz „awk“ vytlačí prvý stĺpec pomocou predvoleného oddeľovača.

$ mačacích zákazníkov.TXT
Zákazníci $ awk 'print $ 1'.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Upozorňujeme, že výstup zobrazuje iba krstné meno zákazníka, pretože medzera sa používa ako oddeľovač polí. Riešenie tohto problému je uvedené v nasledujúcom príklade.

Príklad 5: Vytlačte prvý stĺpec súboru s oddeľovačom

Tu sa \ t používa ako oddeľovač polí na tlač prvého stĺpca súboru. Voľba '-F' sa používa na nastavenie oddeľovača polí.

$ mačacích zákazníkov.TXT
$ awk -F '\ t' tlačiť $ 1 'zákazníkov.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Obsah súboru je rozdelený do troch stĺpcov na základe \ t. Preto sa meno a ID zákazníka vytlačí ako prvý stĺpec. Ak chcete vytlačiť meno zákazníka bez ID, pokračujte ďalším príkladom.


Ak chcete vytlačiť meno zákazníka bez identifikačného čísla, musíte ako oddeľovač polí použiť znak „-“. Nasledujúci príkaz „awk“ vytlačí meno zákazníka iba ako prvý stĺpec.

$ mačacích zákazníkov.TXT
$ awk -F '-' 'print $ 1' zákazníci.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Výstup obsahuje celé mená zákazníkov bez ich identifikačných údajov.

Príklad 6: Vytlačte posledný stĺpec súboru

Nasledujúci príkaz „awk“ vytlačí posledný stĺpec zákazníkov.TXT. Pretože v príkaze nie je použitý oddeľovač polí, bude sa priestor používať ako oddeľovač polí.

$ mačacích zákazníkov.TXT
Zákazníci $ awk 'print $ NF'.TXT

Po vykonaní vyššie uvedených príkazov sa vytvorí nasledujúci výstup. Posledný stĺpec obsahuje telefónne čísla, ako je uvedené vo výstupe.

Príklad 7: Tlač prvého a posledného stĺpca súboru

Nasledujúci príkaz „awk“ vytlačí prvý a posledný stĺpec zákazníkov.TXT. Tu sa karta (\ t) používa ako oddeľovač polí na rozdelenie obsahu do stĺpcov. Tu sa karta (\ t) používa ako oddeľovač výstupu.

$ mačacích zákazníkov.TXT
$ awk -F "\ t" 'tlačiť $ 1 "\ t" $ NF' zákazníkov.TXT

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup. Obsah je rozdelený do troch stĺpcov \ t; prvý stĺpec obsahuje meno a identifikačné číslo zákazníka a druhý stĺpec obsahuje telefónne číslo. Prvý a posledný stĺpec sa vytlačí pomocou \ t ako oddeľovača.

Záver

Príkaz 'awk' je možné použiť rôznymi spôsobmi na získanie prvého stĺpca a / alebo posledného stĺpca z ľubovoľného výstupu príkazu alebo z tabuľkových údajov. Je dôležité si uvedomiť, že v príkaze je vyžadovaný oddeľovač polí, a ak nie je zadaný, použije sa medzera.

Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...
Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...
Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...