GNU/Linux >> Znalost Linux >  >> Linux

Příkaz wc vypíše nesprávný počet výstupních znaků [Vyřešeno]

Otázka: Proč wc příkaz vypíše nesprávný počet výstupních znaků při použití s ​​echo příkaz v Linuxu? Níže je uveden příkaz, který jsem použil k počítání počtu znaků v řetězci.

$echo "santhosh" | wc -c
9

Ale vždy mi to dává o jeden počet více, jak je vidět z výše uvedeného výstupu! Dělám něco špatně? Prosím, pomozte mi to vyřešit.

Řešení: Problém se netýká wc, ale s použitím echo. Ve výchozím nastavení echo příkaz přidá znak nového řádku na konci a při přesměrování do wc uvidíte o jeden znak více, než je skutečná délka řetězce.

Chcete-li potlačit konec nového řádku, použijte -n možnost pro echo příkaz, jak je znázorněno níže:

$echo -n "santhosh" | wc -c
8
Poznámka

Bash je výchozí příkazový shell v téměř každé hlavní distribuci Linuxu. Tento příkaz byl tedy testován na bash shell.


Linux
  1. Převést výstup příkazu stromu do formátu Json?

  2. Příklady příkazů času Linux

  3. wc:příkaz nenalezen

  1. Příklady příkazů tee v Linuxu

  2. Zobrazení úplného výstupu příkazu PS

  3. Číslo zařízení ve výstupu stat příkazu

  1. Jak přiřadit výstup příkazu Linux k proměnné

  2. Jak uložit výstup příkazu do souboru v Linuxu

  3. Jak používat příkaz WC k tisku znaků, bajtů, nového řádku a počtu slov v Linuxu