Linuxové příkazy wc a nl vám pomohou identifikovat počet slov, řádků, bajtů atd. v souboru. Tento tutoriál vysvětluje, jak používat tyto dva velmi užitečné příkazy s různými příklady.
Základní textový soubor, který bude použit v příkladech v tomto článku, je uveden níže:
$ cat sort.txt UK Australia Newzealand Brazil America
Příklady příkazů Linux nl
Nástroj nl v Linuxu se používá k číslování řádků souboru.
Zde je syntaxe a popis z manuálové stránky:
SYNOPSE
nl [MOŽNOST]… [SOUBOR]…POPIS
Zapište každý SOUBOR na standardní výstup s přidanými čísly řádků. Bez FILE nebo když je FILE -, čtěte standardní vstup.
1. Základní příklad
Zde je základní příklad, který vysvětluje, jak lze použít příkaz nl k číslování řádků souboru.
$ cat sort.txt UK Australia Newzealand Brazil America $ nl sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America
Vidíme tedy, že pomocí příkazu nl byly všechny řádky souboru sort.txt očíslovány.
2. Zvyšte čísla řádků o libovolnou hodnotu pomocí volby -i
Volbu -i lze použít k přepsání výchozího přírůstku 1 v číslech řádků.
Zde je příklad, kdy jsme použili -i ke zvýšení přírůstku čísla řádku na 5 :
$ nl -i5 sort.txt 1 UK 6 Australia 11 Newzealand 16 Brazil 21 America
Místo výchozích 1,2,3… se nyní čísla řádků zobrazují v krocích po 5 (tj. 1,6,11…)
3. Přidejte řetězec za čísla řádků pomocí volby -s
Ve výchozím nastavení přidává příkaz nl pouze čísla řádků. Ale pomocí volby -s lze přidat libovolný řetězec, který může fungovat jako oddělovač mezi čísly řádků a textem řádku.
Zde je příklad:
$ nl -s. sort.txt 1.UK 2.Australia 3.Newzealand 4.Brazil 5.America
Vidíme tedy, že znak ‚.‘ byl přidán za čísla řádků.
4. Použijte jiný sloupec pro čísla řádků pomocí volby -w
Sloupce pro zobrazení čísla řádku lze změnit pomocí volby -w.
Zde je příklad:
$ nl -w1 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w2 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w3 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w4 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w5 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w6 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America
Výše uvedený vyčerpávající výstup poskytuje dobrou představu o tom, jak lze změnit zobrazovaný sloupec pro čísla řádků.
5. Použijte STYLE pro číslování řádků pomocí volby -b
Pro číslování řádků jsou k dispozici různé STYLY. Z manuálové stránky :
STYLE je jedním z:
- a – očíslujte všechny řádky
- t – číslování pouze prázdných řádků
- n – číslo žádné řádky
- pBRE – číslují pouze řádky, které obsahují shodu se základním regulárním výrazem BRE
V níže uvedeném příkladu jsem použil regulární výraz „pA“ jako STYL s možností -b. Tento regulární výraz odpovídá řádkům začínajícím na „A“, takže příkaz nl čísluje pouze tyto řádky.
$ nl -bpA sort.txt UK 1 Australia Newzealand Brazil 2 America
Vidíme tedy, že byly očíslovány pouze řádky začínající na „A“.
6. Použijte jiný FORMÁT pro vkládání čísel řádků pomocí voleb -n
Pro vkládání čísel řádků jsou k dispozici různé FORMÁTY. Z manuálové stránky :
FORMAT je jeden z:
- ln – zarovnáno doleva, bez úvodních nul
- rn – zarovnáno vpravo, žádné úvodní nuly
- rz – zarovnáno vpravo, úvodní nuly
Zde je příklad, který demonstroval všechny výše uvedené formáty:
$ nl -nln sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -nrn sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -nrz sort.txt 000001 UK 000002 Australia 000003 Newzealand 000004 Brazil 000005 America
Vezměte prosím na vědomí, že můžete také použít příkaz sed k počítání počtu řádků v souboru.
Příklady příkazů wc pro Linux
Nástroj wc v Linuxu se používá k tisku informací, jako je počet nových řádků, slov, počet bajtů v souboru.
Zde je syntaxe a popis z manuálové stránky:
SYNOPSE
wc [MOŽNOST]… [SOUBOR]…
wc [MOŽNOST]… –files0-from=FPOPIS
Vytiskne počet nových řádků, slov a bajtů pro každý SOUBOR a celkový řádek, pokud je zadán více než jeden SOUBOR. Bez FILE nebo
když FILE je -, čtěte standardní vstup. Slovo je nenulová posloupnost znaků oddělených mezerou.
1. Základní příklad
Zde je základní příklad příkazu wc pro Linux:
$ cat sort.txt UK Australia Newzealand Brazil America $ wc sort.txt 5 5 41 sort.txt
Tři čísla vytvořená na výstupu odpovídají počtu řádků, počtu slov a počtu bajtů. Za těmito třemi čísly následuje název souboru.
2. Zobrazit počet slov pomocí volby -w
Počet slov v souboru lze zobrazit explicitně pomocí volby -w.
Zde je příklad:
$ wc -w sort.txt 5 sort.txt
Vidíme tedy, že počet vytištěných slov následovaný názvem souboru.
3. Zobrazit délku nejdelšího řádku přes volbu -L
Příkaz wc poskytuje volbu -L, kterou lze použít k zobrazení délky nejdelšího řádku v souboru.
Zde je příklad:
$ wc -L sort.txt 10 sort.txt
Vidíme tedy, že délka nejdelšího řádku (v našem případě ‚Newzealand‘) byla zobrazena ve výstupu.
4. Zobrazit počet nových řádků pomocí volby -l
Příkaz wc poskytuje volbu -l, pomocí které lze ve výstupu zobrazit počet nových řádků.
Zde je příklad:
$ wc -l sort.txt 5 sort.txt
Vidíme tedy, že v souboru sort.txt
bylo 5 nových řádků5. Zobrazit počet bajtů pomocí volby -c
Celkový počet bajtů v souboru lze zobrazit pomocí volby -c příkazu wc.
Zde je příklad:
$ wc -c sort.txt 41 sort.txt