Linuxový příkaz wc se používá k počítání počtu slov, řádků a znaků v souboru. „Wc“ znamená počet slov.
Příkaz wc pro Linux
Podívejme se, jak je příkaz wc definován manuálovou stránkou. Manuálovou stránku lze otevřít zadáním následujícího příkazu.
Manuálová stránka wc systému Linux
Jako výstup se zobrazí následující. Pojďme se podívat na stránku nápovědy k wc část po části.
Výstup nápovědy wc pro Linux
Popsaný příkaz wc lze použít k získání počtu nových řádků, slov nebo bajtů obsažených v zadaném souboru.
Výstup bude obsahovat počet nových řádků, slov nebo bajtů (po souboru, v případě, že je vloženo více souborů), následovaný „celkovým“ řádkem na konci, který ukáže celkový součet slov, nových řádků nebo bajtů ve všech souborech. .
Syntaxe příkazu wc
$ wc [OPTION]… [FILE]…
Příklad příkazu wc pro Linux
Podívejme se na příklad pro pochopení příkazu wc.
Vytvořil jsem 2 vzorové textové soubory – test.txt a test2.txt na ploše a pomocí příkazu cd jsem přešel do adresáře Desktop.
Nyní zadáním příkazu wc podle syntaxe a jeho provedením získáte následující výstup.
Linux wc Command Output
Výstup má 3 řádky odpovídající test.txt, test2.txt a total.
- První sloupec ve výstupu zobrazuje počet řádků v souboru. Vzhledem k tomu, že v obou textových souborech uvedených výše je pouze jeden řádek, výstup je 1 pro test.txt a test2.txt.
- Druhý sloupec ve výstupu zobrazuje počet slov v souboru, což je v našem případě 12 a 15.
- Třetí sloupec ve výstupu zobrazuje počet bajtů + 1 (nebo znaků, protože každý znak zabírá 1 bajt v paměti) v souboru, což je v našem případě 58 a 74 v testu a testu2. (Bajt +1 navíc je způsoben tím, že textový editor automaticky přidá „\n“ na konec řádku.)
- Celkový řádek jednoduše zobrazuje součet řádků, slov a bajtů ve všech souborech uvedených ve vstupu.
Možnosti příkazu wc systému Linux
Man stránka poskytuje informace o možnostech příkazu wc.
Možnosti příkazu wc systému Linux
Následující možnosti, jak je uvedeno výše, lze použít s příkazem k vytištění konkrétních počtů – pouze toho, co požaduje uživatel.
- -c, –bytes možnost lze použít k vytištění počtu bajtů+1 v souboru, jak je uvedeno níže. Pokud je zadáno více souborů, zobrazí se na výstupu také další řádek součtu.
Možnost Linux wc -c –bytes
- -m, –chars Volba může být použita pro tisk pouze počtu znaků + 1 v souboru, jak je znázorněno níže. Protože se počet znaků v tomto příkladu rovná počtu bajtů, výstup je stejný pro -c i -m.
- -l nebo –lines možnost lze použít k vytištění pouze počtu řádků v souboru, jak je znázorněno níže. Pokud je poskytnuto více souborů, zobrazí se ve výstupu také další řádek součtu.
- -L nebo –max-line-length možnost lze použít k vytištění počtu znaků v řádku s maximálním počtem znaků ze všech řádků přítomných v souboru.
- -w nebo –words lze použít k vytištění pouze počtu slov v souboru, jak je uvedeno níže.
- –files0-from=F lze použít ke čtení vstupu ze souborů, jejichž názvy jsou obsaženy v souboru F, oddělené prázdnými znaky (hodnota bajtu 0) a nikoli mezerami/tabulátory/koncovým řádkem. V případě, že neexistuje žádný soubor nebo je název souboru „-“, vstup se čte přímo ze standardního vstupu.
Linux wc Lines Count
Linux wc -L Option
Zde jsem vytvořil 2 nové .txt soubory – file1.txt a file2.txt obsahující názvy některých druhů ovoce a automobilek.
Vidíme, že výstup ukazuje 10 pro soubor1.txt a 13 pro soubor2.txt. Řádky „Watermelon“ a „Maruti Suzuki“ jsou nejdelší v příslušných souborech a mají 10 respektive 13 znaků.
Můžete si všimnout, že celkový řádek zobrazuje nesprávný součet. Je to proto, že při použití -L, total zobrazí jako výstup největší číslo mezi těmi, které jsou nad ním zobrazeny, což je v našem případě 13.
Linux wc Počet slov
Soubory Linux wc od
Když je jako jméno souboru zapsáno – a příkaz je proveden, terminál čeká na vstup. Pokud potom napíšeme název souboru a stiskneme dvakrát Ctrl+D, výstup se zobrazí na stejném řádku jako na obrázku. Jakmile nejsou vyžadovány žádné další vstupy, stisknutím Ctrl+C proces ukončíte.
Použití příkazu wc s cat a grep
Příkaz wc pro Linux může také přijímat vstupy přímo ze standardního vstupu a výstupu jiného příkazu lze přesměrovat jako vstup do wc. To je velmi užitečné pro použití s dalšími příkazy jako cat a grep.
Linux wc S příkazem cat
Zde byl výstup z cat přesměrován (přesměrován) ze stdout na stdin příkazu wc. Výstup pro test a test2 lze také zobrazit tímto způsobem.
Linux wc S příkazem grep
V tomto příkladu je naším cílem najít celkový počet řádků v souboru1.txt obsahujících písmeno „e“. K tomu se používá grep, jak je znázorněno, k odfiltrování písmene „e“ ze souboru. Poté je výstup veden potrubím (přesměrován) na standardní vstup wc. Do wc jsme přidali volbu -l, abychom zjistili počet řádků na vstupu.
Náš výstup tedy vyjde na 4, protože všechny názvy ovoce obsahují písmeno „e“ kromě kiwi na posledním řádku.
Závěr
Příkaz wc pro Linux je jednoduchý, snadno použitelný a lze jej použít k vyhledávání/filtrování užitečných informací ze souborů jeho kombinací s jinými příkazy, jako je cat
a grep
. Úkoly, jako je hledání počtu řádků obsahujících určité abecedy v rozsáhlém textu, mohou být při ručním provádění časově náročné. Tento příkaz pomáhá vyřešit takové problémy během několika sekund.