El comando wc (recuento de palabras) es una de las utilidades centrales de GNU que aparentemente parece simple pero en realidad es un comando bastante útil. Como se desprende del nombre, cuenta el número de líneas, palabras, caracteres, bytes e incluso la longitud de la línea más larga del archivo y las imprime en la salida estándar. Es posible que necesite este recuento por múltiples razones. Por ejemplo, puede usar el conteo de caracteres para restringir la cantidad de caracteres que se pueden insertar en una publicación. Del mismo modo, puede contar la cantidad de usuarios en su sistema, la cantidad de paquetes instalados en su sistema, etc.
En este artículo, explicaremos cómo usar el comando wc en Linux junto con sus opciones de línea de comandos y algunos ejemplos.
Hemos realizado los comandos en el sistema Ubuntu 20.04 Focal Fossa. Más o menos los mismos comandos también se pueden implementar en otras distribuciones de Linux. Hemos ejecutado los comandos en la aplicación Terminal predeterminada a la que se puede acceder a través del método abreviado de teclado Ctrl+Alt+T.
Sintaxis
Esta es la sintaxis básica del comando wc:
wc [OPTION]... [FILE]...
Si desea utilizar varias opciones, puede agregarlas sin espacios. Mientras que para varios archivos, debe separarlos con un solo espacio.
Uso básico del comando wc
Cuando se usa el comando wc sin ninguna opción de línea de comandos, devuelve el número de líneas, palabras y bytes en los archivos. Para usar el comando wc, simplemente escriba wc seguido del nombre del archivo para el que desea encontrar el recuento.
$ wc testfile.txt
Resultado explicado:
El comando wc imprime los resultados del conteo para el archivo especificado en cuatro columnas. La primera columna muestra el número de líneas del archivo, la segunda columna muestra el número de palabras, la tercera columna muestra el número de bytes y la cuarta columna muestra el nombre del archivo.
Nota:wc solo imprime los recuentos de nueva línea, no las líneas reales en el archivo especificado.
En el resultado del comando anterior, 12 es el número de líneas, 21 es el número de palabras y 116 es el número de bytes en el "testfile.txt".
Si no desea imprimir el nombre del archivo en el resultado, use
Con el comando wc, puede especificar varios archivos para el conteo. El comando wc devuelve el recuento de cada uno de los archivos junto con el recuento total al final, que es la suma del recuento de cada archivo.
El comando wc tiene algunas opciones de línea de comandos. Echemos un vistazo a esas opciones y sus funciones:
Usando el comando wc con -l o –líneas opción, puede imprimir solo el número de líneas en el archivo. Por ejemplo, el siguiente comando imprimirá solo el recuento de líneas en el "archivo de prueba.txt":
En el siguiente resultado, 12 es el número de líneas en el "archivo de prueba.txt".
Si necesita imprimir solo el recuento de palabras en un archivo, use el comando wc con -w o –palabras opción. Por ejemplo, el siguiente comando imprimirá el recuento de palabras en "testfile.txt":
En el siguiente resultado, 21 es el número de palabras en el "archivo de prueba.txt".
Usando el comando wc con -c o –bytes opción, puede imprimir el número de bytes en el archivo. El siguiente comando imprimirá el conteo de bytes en el “testfile.txt”:
En el siguiente resultado, 116 es el número de bytes en "testfile.txt".
Usando el comando wc con -m o –caracteres opción, puede imprimir el número de caracteres en el archivo. Por ejemplo, el siguiente comando imprimirá solo el número de caracteres en el "archivo de prueba.txt":
En el siguiente resultado, 116 es el número de caracteres en testfile.txt.
Nota:El conteo de bytes y el conteo de caracteres son los mismos para los archivos en formato ASCII.
Si necesita imprimir la longitud de la línea más larga en un archivo específico, puede hacerlo usando el comando wc con -L o –max-line-length opción. Por ejemplo, el siguiente comando imprimirá la longitud de la línea más larga del "testfile.txt":
En el siguiente resultado, 20 es la longitud de la línea más larga.
Para ver la versión del comando wc, use el siguiente comando:
También puede combinar las opciones de la línea de comandos. Por ejemplo, para imprimir el recuento de líneas y bytes, combine las opciones -l y -c de la siguiente manera:
Nota:ya sea que ejecute -lc o -cl, la salida siempre estará en el mismo orden, es decir, el número de líneas, palabras y bytes.
En el resultado anterior, 29 es el número de líneas y 782 es el número de bytes en el archivo "sample.txt".
Para guardar la salida del comando wc en un archivo, use el operador> de la siguiente manera:
Veamos algunos de los ejemplos del comando wc conectándolo con otros comandos.
Para contar la cantidad de archivos en cualquier directorio, canalice la salida del comando de búsqueda a wc. Por ejemplo, para encontrar la cantidad de archivos en el directorio ~/Descargas, el comando sería:
El comando de búsqueda enumera todos los archivos en el directorio ~/Downloads de su sistema, que luego se canaliza al comando wc para obtener un recuento.
El comando wc también se puede usar para contar el número total de usuarios en un sistema. Para contar la cantidad de usuarios, use el comando 'getent passwd' y canalice su salida al comando wc de la siguiente manera:
El comando 'getent passwd' enumera todos los usuarios en el sistema que luego se canaliza al comando wc para obtener un conteo.
Con el comando wc, también puede contar la cantidad de paquetes instalados en su sistema. Para contar la cantidad de paquetes instalados, use el siguiente comando:
El comando "apt list –installed" enumera todos los paquetes instalados en el sistema que luego se canaliza al comando wc para obtener un recuento.
Con el comando wc, puede contar el número de palabras en particular en un archivo. Por ejemplo, para saber cuántas veces apareció la palabra “ciencia” en el archivo llamado “muestra.txt”, el comando sería:
En este ejemplo, el comando grep busca la aparición de la palabra "ciencia" en el archivo sample.txt que luego se canaliza al comando wc para obtener un recuento.
Con el comando wc, también puede encontrar la cantidad de caracteres en una línea específica. Por ejemplo, para encontrar el número de caracteres en la línea 50 del archivo llamado “sample.txt”, el comando sería:
En este ejemplo, la cabeza El comando enumerará las primeras 50 líneas del archivo sample.txt que luego se canaliza al comando tail. La “cola -1 El comando luego filtra la última línea (Línea No. 50) de la primera salida que obtuvo del head dominio. La salida de la cola Luego, el comando se canaliza al comando wc para obtener un recuento de caracteres en la línea 50.
En el siguiente ejemplo, crearemos un script que contará líneas, palabras y bytes en un archivo. Al ejecutar el script, pasaremos el nombre del archivo como argumento, para que pueda ejecutar el mismo script para cualquiera de sus archivos.
Cree un script con las siguientes líneas de código:
Ahora ejecute el script pasando el nombre del archivo como argumento.
Por ejemplo, para obtener el número de líneas, palabras y caracteres del archivo denominado “sample.txt”, ejecute el script pasando sample.txt como argumento:
Después de ejecutar el script, recibirá un resultado similar que le mostrará el número de palabras de su archivo.
Si el archivo está en otra ubicación que no sea su directorio de trabajo actual, mencione la ruta completa:
Así es como puedes usar el comando wc en Linux. En este artículo, ha aprendido los conceptos básicos del comando wc junto con sus opciones de línea de comandos y algunos ejemplos prácticos. Ahora puede contar fácilmente el número de líneas, palabras, caracteres y bytes en sus archivos y en la salida de otros comandos.
$ wc < testfile.txt
Cuenta de varios archivos
Opciones
Cuenta el número de líneas
$ wc -l testfile.txt
Cuenta el número de palabras
$ wc -w testfile.txt
Cuenta el número de bytes
$ wc -c testfile.txt
Cuenta el número de caracteres
$ wc -m testfile.txt
Longitud de impresión de la línea más larga
$ wc -L testfile.txt
Ver versión
$ wc --version
Imprimir número de líneas y bytes
$ wc -lc
Almacenar el recuento en un archivo
$ wc sample.txt > file_count
Ejemplo de uso del comando Wc
Contar archivos en cualquier directorio
$ find ~/Downloads/ -type f | wc -l
Contar el número de usuarios
$ getent passwd | wc –l
Cuenta el número de paquetes instalados
$ apt list --installed | wc -l
Contar el número de palabras en particular en un archivo
$ grep -o ‘science’ sample.txt | wc -w
Cuenta el número de caracteres en una línea específica
$ head -50 sample.txt | tail -1 | wc -w
Usar un Script para contar
#!/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
$ <./script_name> <path/to/filename>
$ ./script2 sample.txt
$ ./script2 /etc/passwd