Páni

Jak tisknout první sloupec nebo poslední sloupec nebo oba pomocí příkazu „awk“

Jak tisknout první sloupec nebo poslední sloupec nebo oba pomocí příkazu „awk“

Příkaz 'awk' v Linuxu je výkonný nástroj pro různé operace s textovými soubory, jako je vyhledávání, nahrazování a tisk. S tabulkovými daty se snadno používá, protože každý řádek automaticky rozděluje na pole nebo sloupce na základě oddělovače polí. Pokud pracujete s textovým souborem, který obsahuje tabulková data, a chcete tisknout data konkrétního sloupce, je nejlepší volbou příkaz 'awk'. V tomto tutoriálu vám ukážeme, jak vytisknout první sloupec a / nebo poslední sloupec řádku nebo textového souboru.

Vytiskněte první sloupec a / nebo poslední sloupec výstupu příkazu

Mnoho příkazů Linuxu, například příkaz 'ls', generuje tabulkové výstupy. Zde vám ukážeme, jak vytisknout první sloupec a / nebo poslední sloupec z výstupu příkazu 'ls -l'.

Příklad 1: Tisk prvního sloupce výstupu příkazu

Následující příkaz 'awk' vytiskne první sloupec z výstupu příkazu 'ls -l'.

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

Následující výstup bude vytvořen po spuštění výše uvedených příkazů.

Příklad 2: Tisk posledního sloupce výstupu příkazu

Následující příkaz 'awk' vytiskne poslední sloupec z výstupu příkazu 'ls -l'.

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

Následující výstup bude vytvořen po spuštění výše uvedených příkazů.

Příklad 3: Tisk prvního a posledního sloupce výstupu příkazu

Následující příkaz 'awk' vytiskne první a poslední sloupec z výstupu příkazu 'ls -l'.

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

Následující výstup bude vytvořen po spuštění výše uvedených příkazů.

Vytiskněte první sloupec a / nebo poslední sloupec textového souboru

Zde vám ukážeme, jak pomocí příkazu 'awk' vytisknout první sloupec a / nebo poslední sloupec textového souboru.

Vytvořte textový soubor

Chcete-li pokračovat v tomto kurzu, vytvořte textový soubor s názvem zákazníky.txt s následujícím obsahem. Soubor obsahuje tři typy údajů o zákaznících: jméno s ID, e-mail a telefonní číslo. K oddělení těchto hodnot se používá znak tabulátoru (\ t).

Jméno E-mail Telefon
Jonathon Bing - 1001 [chráněno e-mailem] 01967456323
Micheal Jackson - 2006 [chráněno e-mailem] 01756235643
Janifer Lopez - 3029 [chráněno e-mailem] 01822347865
John Abraham - 4235 j [chráněno e-mailem] 01590078452
Mir Sabbir - 2756 [chráněno e-mailem] 01189523978

Příklad 4: Tisk prvního sloupce souboru bez použití oddělovače polí

Pokud se v příkazu 'awk' nepoužívá žádný oddělovač polí, použije se jako výchozí oddělovač polí mezera. Následující příkaz 'awk' vytiskne první sloupec pomocí výchozího oddělovače.

$ kočičí zákazníci.txt
$ awk 'print $ 1' zákazníci.txt

Následující výstup bude vytvořen po spuštění výše uvedených příkazů. Všimněte si, že výstup zobrazuje pouze křestní jméno zákazníka, protože mezera je použita jako oddělovač pole. Řešení tohoto problému je uvedeno v následujícím příkladu.

Příklad 5: Tisk prvního sloupce souboru s oddělovačem

Zde se \ t používá jako oddělovač polí k tisku prvního sloupce souboru. Možnost '-F' se používá k nastavení oddělovače polí.

$ kočičí zákazníci.txt
$ awk -F '\ t' tisk $ 1 'zákazníků.txt

Následující výstup bude vytvořen po spuštění výše uvedených příkazů. Obsah souboru je rozdělen do tří sloupců na základě \ t. Proto se jako první sloupec vytiskne jméno a ID zákazníka. Pokud chcete vytisknout jméno zákazníka bez ID, pokračujte dalším příkladem.


Pokud chcete vytisknout jméno zákazníka bez ID, musíte jako oddělovač polí použít znak „-“. Následující příkaz 'awk' vytiskne jméno zákazníka pouze jako první sloupec.

$ kočičí zákazníci.txt
$ awk -F '-' 'print $ 1' zákazníci.txt

Následující výstup bude vytvořen po spuštění výše uvedených příkazů. Výstup zahrnuje celá jména zákazníků bez jejich ID.

Příklad 6: Tisk posledního sloupce souboru

Následující příkaz 'awk' vytiskne poslední sloupec zákazníků.txt. Protože v příkazu není použit žádný oddělovač polí, bude mezera použita jako oddělovač polí.

$ kočičí zákazníci.txt
Zákazníci $ awk 'print $ NF'.txt

Následující výstup bude vytvořen po spuštění výše uvedených příkazů. Poslední sloupec obsahuje telefonní čísla, jak je znázorněno na výstupu.

Příklad 7: Tisk prvního a posledního sloupce souboru

Následující příkaz 'awk' vytiskne první a poslední sloupec zákazníků.txt. Tady se tab (\ t) používá jako oddělovač polí k rozdělení obsahu do sloupců. Zde se jako oddělovač výstupu používá karta (\ t).

$ kočičí zákazníci.txt
$ awk -F "\ t" 'tisknout $ 1 "\ t" $ NF' zákazníků.txt

Po spuštění výše uvedených příkazů se zobrazí následující výstup. Obsah je rozdělen do tří sloupců \ t; první sloupec obsahuje jméno a ID zákazníka a druhý sloupec obsahuje telefonní číslo. První a poslední sloupec se vytiskne pomocí \ t jako oddělovače.

Závěr

Příkaz 'awk' lze použít různými způsoby k získání prvního sloupce a / nebo posledního sloupce z libovolného výstupu příkazu nebo z tabulkových dat. Je důležité si uvědomit, že v příkazu je vyžadován oddělovač polí, a pokud není zadán, použije se mezera.

Hry Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 vydané minulý měsíc, je šestým vývojovým vydáním v 1.13.série x a přináší řadu vylepšení, zejména do uživatelského rozhraní,...
Hry Jak nainstalovat League Of Legends na Ubuntu 14.04
Jak nainstalovat League Of Legends na Ubuntu 14.04
Pokud jste fanouškem League of Legends, pak je to pro vás příležitost otestovat běh League of Legends. Všimněte si, že LOL je podporován na PlayOnLinu...
Hry Nainstalujte si nejnovější strategickou hru OpenRA na Ubuntu Linux
Nainstalujte si nejnovější strategickou hru OpenRA na Ubuntu Linux
OpenRA je herní engine Libre / Free Real Time Strategy, který obnovuje rané hry Westwood, jako je klasický Command & Conquer: Red Alert. Distribuované...