GNU/Linux >> Znalost Linux >  >> Ubuntu

wc příkaz:Vysvětleno pomocí 5 příkladů v Ubuntu 20.04 LTS

Příkaz wc (počet slov) je jedním ze základních nástrojů GNU, který vypadá jednoduše, ale ve skutečnosti je to docela užitečný příkaz. Jak je patrné z názvu, počítá počet řádků, slov, znaků, bajtů a dokonce i délku nejdelšího řádku v souboru a vytiskne je na standardní výstup. Tento počet můžete potřebovat z několika důvodů. Pomocí počtu znaků můžete například omezit počet znaků, které lze vložit do příspěvku. Podobně můžete spočítat počet uživatelů ve vašem systému, počet balíčků nainstalovaných ve vašem systému atd.

V tomto článku vysvětlíme, jak používat příkaz wc v Linuxu spolu s jeho možnostmi příkazového řádku a několika příklady.

Provedli jsme příkazy na systému Ubuntu 20.04 Focal Fossa. Víceméně stejné příkazy lze implementovat i na jiné distribuce Linuxu. Spustili jsme příkazy ve výchozí aplikaci Terminal, ke které lze přistupovat pomocí klávesové zkratky Ctrl+Alt+T.

Syntaxe

Zde je základní syntaxe příkazu wc:

wc [OPTION]... [FILE]...

Pokud chcete použít více možností, můžete je přidat bez mezery. Zatímco u více souborů byste je měli oddělit jednou mezerou.

Základní použití příkazu wc

Když je příkaz wc použit bez jakýchkoli voleb příkazového řádku, vrací počet řádků, slov a bajtů v souborech. Chcete-li použít příkaz wc, jednoduše zadejte wc následovaný názvem souboru, jehož počet chcete zjistit.

$ wc testfile.txt

Vysvětlení výstupu:

Příkaz wc vytiskne výsledky počtu pro zadaný soubor ve čtyřech sloupcích. První sloupec ukazuje počet řádků v souboru, druhý sloupec ukazuje počet slov, třetí sloupec ukazuje počet bajtů a čtvrtý sloupec ukazuje název souboru.

Poznámka:wc vytiskne pouze počet nových řádků, nikoli skutečné řádky v určeném souboru.

Ve výše uvedeném výstupu příkazu je 12 počet řádků, 21 je počet slov a 116 je počet bajtů v „testfile.txt“.

Pokud nechcete ve výsledku tisknout název souboru, použijte

$ wc < testfile.txt

Počítání z více souborů

Pomocí příkazu wc můžete zadat více souborů pro počet. Příkaz wc vrátí počet pro každý soubor spolu s celkovým počtem na konci, což je součet počtu pro každý soubor.

Možnosti

Příkaz wc má některé možnosti příkazového řádku. Pojďme se podívat na tyto možnosti a jejich funkce:

Spočítejte počet řádků

Použití příkazu wc s -l nebo –linky můžete vytisknout pouze počet řádků v souboru. Například následující příkaz vytiskne pouze počet řádků v „testfile.txt“:

$ wc -l testfile.txt

V následujícím výstupu je 12 počet řádků v „testfile.txt“.

Spočítejte počet slov

Pokud potřebujete vytisknout pouze počet slov v souboru, použijte příkaz wc s -w nebo –slov volba. Například následující příkaz vypíše počet slov v „testfile.txt“:

$ wc -w testfile.txt

V následujícím výstupu je 21 počet slov v „testfile.txt“.

Spočítejte počet bajtů

Použití příkazu wc s -c nebo –bajtů možnost, můžete vytisknout počet bajtů v souboru. Následující příkaz vypíše počet bajtů v souboru „testfile.txt“:

$ wc -c testfile.txt

V následujícím výstupu je 116 počet bajtů v souboru „testfile.txt“.

Spočítejte počet znaků

Použití příkazu wc s -m nebo –znaky můžete vytisknout počet znaků v souboru. Například následující příkaz vytiskne pouze počet znaků v „testfile.txt“:

$ wc -m testfile.txt

V následujícím výstupu je 116 počet znaků v souboru testfile.txt.

Poznámka:Počet bajtů a počet znaků jsou stejné pro soubory ve formátu ASCII.

Vytisknout délku nejdelšího řádku

Pokud potřebujete vytisknout délku nejdelšího řádku v konkrétním souboru, můžete tak učinit pomocí příkazu wc s -L nebo –max-line-length volba. Například následující příkaz vytiskne délku nejdelšího řádku souboru „testfile.txt“:

$ wc -L testfile.txt

V následujícím výstupu je 20 délka nejdelšího řádku.

Zobrazit verzi

Chcete-li zobrazit verzi příkazu wc, použijte následující příkaz:

$ wc --version

Vytisknout počet řádků a bajtů

Můžete také kombinovat možnosti příkazového řádku. Chcete-li například vytisknout počet řádků a bajtů, zkombinujte volby -l a -c následovně:

$ wc -lc

Poznámka:Ať už spustíte -lc nebo -cl, výstup bude vždy ve stejném pořadí, tj. počet řádků, slov a bajtů.

Ve výše uvedeném výstupu je 29 počet řádků a 782 počet bajtů v souboru „sample.txt“.

Uložit počet do souboru

Chcete-li uložit výstup příkazu wc do souboru, použijte operátor> následovně:

$ wc sample.txt > file_count

Příklad použití příkazu Wc

Podívejme se na některé příklady příkazu wc propojením s jinými příkazy.

Počítání souborů v libovolném adresáři

Chcete-li spočítat počet souborů v libovolném adresáři, převeďte výstup příkazu find do wc. Chcete-li například zjistit počet souborů v adresáři ~/Downloads, příkaz by byl:

$ find ~/Downloads/ -type f | wc -l

Příkaz find vypíše seznam všech souborů v adresáři ~/Downloads vašeho systému, který je pak přesměrován do příkazu wc, aby se získal počet.

Spočítejte počet uživatelů

Příkaz wc lze také použít k počítání celkového počtu uživatelů v systému. Chcete-li spočítat počet uživatelů, použijte příkaz „getent passwd“ a jeho výstup převeďte do příkazu wc následovně:

$ getent passwd | wc –l

Příkaz ‚getent passwd‘ vypíše seznam všech uživatelů v systému, který je pak přesměrován do příkazu wc, aby získal počet.

Počet nainstalovaných balíčků

Pomocí příkazu wc můžete také spočítat počet nainstalovaných balíčků ve vašem systému. Chcete-li spočítat počet nainstalovaných balíčků, použijte následující příkaz:

$ apt list --installed | wc -l

Příkaz „apt list –installed“ vypíše seznam všech nainstalovaných balíčků v systému, který je poté přesměrován do příkazu wc, aby získal počet.

Spočítat počet konkrétních slov v souboru

Pomocí příkazu wc můžete spočítat počet konkrétních slov v souboru. Chcete-li například zjistit, kolikrát se slovo „science“ objevilo v souboru s názvem „sample.txt“, příkaz by byl:

$ grep -o ‘science’ sample.txt | wc -w

V tomto příkladu příkaz grep hledá výskyt slova „science“ v souboru sample.txt, který je pak přenesen do příkazu wc, aby získal počet.

Počítání počtu znaků na konkrétním řádku

Pomocí příkazu wc můžete také zjistit počet znaků v konkrétním řádku. Chcete-li například zjistit počet znaků v řádku 50 souboru s názvem „sample.txt“, příkaz bude:

$ head -50 sample.txt | tail -1 | wc -w

V tomto příkladu hlava příkaz vypíše prvních 50 řádků souboru sample.txt, který je poté přesměrován do příkazu tail. „ocas -1 ” poté odfiltruje poslední řádek (řádek č. 50) prvního výstupu, který získal z head příkaz. Výstup z ocasu příkaz je pak přesměrován do příkazu wc, aby získal počet znaků na řádku 50.

Použijte skript pro počítání

V následujícím příkladu vytvoříme skript, který bude počítat řádky, slova a bajty v souboru. Při spouštění skriptu předáme název souboru jako argument, abyste mohli spustit stejný skript pro jakýkoli ze svých souborů.

Vytvořte skript s následujícími řádky kódu:

#!/bin/bash
echo "File to read:"
read file
echo ""
echo "This file has the following number of:"
echo -n "Lines: "
wc -l < $file
echo -n "Words: "
wc -w < $file
echo -n "Chars: "
wc -c < $file

Nyní spusťte skript předáním názvu souboru jako argumentu.

$ <./script_name> <path/to/filename>

Chcete-li například získat počet řádků, slov a znaků pro soubor s názvem „sample.txt“, spusťte skript předáním sample.txt jako argument:

$ ./script2 sample.txt

Po spuštění skriptu obdržíte podobný výstup zobrazující počet slov pro váš soubor.

Pokud je soubor v jiném umístění, než je váš aktuální pracovní adresář, uveďte úplnou cestu:

$ ./script2 /etc/passwd

Takto můžete použít příkaz wc v Linuxu. V tomto článku jste se naučili základy příkazu wc spolu s jeho možnostmi příkazového řádku a několika praktickými příklady. Nyní můžete snadno spočítat počet řádků, slov, znaků a bajtů ve vašich souborech a ve výstupu z jiných příkazů.


Ubuntu
  1. Jak spravovat balíčky pomocí APT na Ubuntu 18.04 LTS

  2. Příkaz nslookup Linux vysvětlený s příklady

  3. Příkaz Linux Traceroute, vysvětlený s příklady

  1. Příkaz vypnutí Linuxu s příklady

  2. Příkaz ssh-keygen na serveru Ubuntu 20.04 LTS Linux - Vysvětleno s příklady

  3. Příkaz Procinfo v Linuxu Vysvětleno na příkladech

  1. Příkaz curl pro Linux vysvětlený s příklady

  2. Linux cut Command Vysvětlení pomocí 6 příkladů

  3. Příkaz Linux ldd vysvětlený s příklady