GNU/Linux >> Tutoriales Linux >  >> Linux

linux shell wc -c cuenta caracteres +1

Eche un vistazo al mensaje de ayuda para wc . El -c La opción imprime el número de caracteres. El echo El comando incluye un carácter de nueva línea de forma predeterminada. Cuando wc ve la nueva línea, la cuenta como otro carácter y, por lo tanto, el recuento adicional en su resultado. Puede evitar esto utilizando una de las alternativas que se muestran a continuación; -w cuenta el número de palabras y -l cuenta el número de líneas.

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

Puede canalizar la salida de wc a awk para obtener el número de caracteres excluyendo los caracteres de nueva línea:

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

La salida predeterminada de wc sin opciones, imprime la cantidad de caracteres de nueva línea ($1 a awk), la cantidad de palabras y la cantidad de caracteres ($3 a awk) en este orden.


cuando echo "k" , el echo El comando agrega un carácter de nueva línea a lo que le pediste que imprimiera ("k"). Puedes usar el -n opción para deshabilitar esto:

echo -n k | wc -c
1

Por ver ese invisible carácter, podría volcar flujo con od o 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

Es porque estás usando echo , que agrega una nueva línea a su cadena. Utilice printf en cambio:

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

Linux
  1. Cómo cambiar Shell en Linux

  2. Comando de eco de Linux

  3. ¿Cómo convertir caracteres hexadecimales a ASCII en el shell de Linux?

  4. Agregar caracteres de nueva línea a las variables de shell de Unix

  5. Utilidades de shell de Linux:convierta una lista de hexadecimales en una lista de decimales

Comando de eco en Linux

Ejemplos de comandos de WC:contar el número de líneas, palabras y caracteres en Linux

¿Qué es Login Shell en Linux?

Comando wc de Linux:recuento de palabras, líneas y caracteres en un archivo

Ejemplos de comandos wc en Linux

8 tipos de shells de Linux