GNU/Linux >> Tutoriels Linux >  >> Linux

linux shell wc -c compte les caractères +1

Consultez le message d'aide pour wc . Le -c option imprime le nombre de caractères. Le echo La commande inclut un caractère de saut de ligne par défaut. Quand wc voit la nouvelle ligne, il la compte comme un autre caractère et donc le nombre supplémentaire dans votre résultat. Vous pouvez contourner ce problème en utilisant l'une des alternatives présentées ci-dessous. -w compte le nombre de mots et -l compte le nombre de lignes.

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

Vous pouvez diriger la sortie de wc à awk pour obtenir le nombre de caractères excluant les caractères de saut de ligne :

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

La sortie par défaut de wc sans option affiche le nombre de caractères de retour à la ligne (1 $ à awk), le nombre de mots et le nombre de caractères (3 $ à awk) dans cet ordre.


quand tu echo "k" , le echo La commande ajoute un caractère de nouvelle ligne à tout ce que vous lui avez demandé d'imprimer ("k"). Vous pouvez utiliser le -n option pour désactiver ceci :

echo -n k | wc -c
1

Pour voir cet invisible caractère, vous pouvez vider le flux avec od ou 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

C'est parce que vous utilisez echo , qui ajoute une nouvelle ligne à votre chaîne. Utilisez printf à la place :

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

Linux
  1. Compter les lignes, les mots et les caractères d'un fichier sous Linux

  2. Comment changer de shell sous Linux

  3. Comment convertir les caractères hexadécimaux en caractères ASCII dans le shell Linux ?

  4. Utilitaires du shell Linux :convertir une liste d'hexadécimaux en une liste de décimales

  5. Que fait % dans les chaînes du shell Linux ?

Commande Echo sous Linux

Exemples de commandes WC :compter le nombre de lignes, de mots et de caractères sous Linux

Qu'est-ce que le shell de connexion sous Linux ?

Commande Linux wc - Nombre de mots, lignes, caractères dans un fichier

wc Exemples de commandes sous Linux

8 types de shells Linux