GNU/Linux >> Znalost Linux >  >> Linux

linuxový shell wc -c počet znaků +1

Podívejte se na zprávu nápovědy pro wc . -c volba vytiskne počet znaků. echo příkaz ve výchozím nastavení obsahuje znak nového řádku. Když wc vidí nový řádek, počítá to jako další znak, a tedy další počet ve vašem výsledku. Můžete to obejít pomocí jedné z níže uvedených alternativ; -w počítá počet slov a -l počítá počet řádků.

echo "k" | wc -w 
echo "k" | wc -l

Výstup wc můžete kanálem až awk získat počet znaků kromě znaků nového řádku:

wc <filename> | awk '{print $3-$1}'

Výchozí výstup wc bez možnosti vytiskne počet znaků nového řádku ($1 až awk), počet slov a počet znaků ($3 až awk) v tomto pořadí.


když echo "k" , echo příkaz připojí znak nového řádku ke všemu, co jste ho požádali o vytištění ("k"). Můžete použít -n možnost toto zakázat:

echo -n k | wc -c
1

Za zobrazení toho neviditelného znak, můžete vypsat stream pomocí od nebo hd :

echo k | od -t c
0000000   k  \n

echo k | hd
00000000  6b 0a                                             |k.|

echo k | od -t a -A n
   k  nl

Je to proto, že používáte echo , který přidá nový řádek do vašeho řetězce. Použijte printf místo toho:

$ echo k | wc -c 
       2
$ printf k | wc -c
       1

Linux
  1. Jak změnit Shell v Linuxu

  2. Linuxový příkaz echo

  3. Příklady příkazů echo v Linuxu

  1. Počítejte řádky, slova a znaky ze souboru v Linuxu

  2. Jak převést hex na ASCII znaky v prostředí Linuxu?

  3. Co dělá % v řetězcích shellu Linux?

  1. 16 Příklady příkazů Echo v Linuxu

  2. Přidání znaků nového řádku do proměnných unixového shellu

  3. Linuxové shell utils:převod seznamu šestnáctkových čísel na seznam desetinných čísel