Comando wc: Explicado con 5 ejemplos en Ubuntu 20.04 LTS

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. Para example, 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

Aquí está la sintaxis básica para el comando wc:

                      
                        wc [OPTION]... [FILE]...
                      
                    

Si desea utilizar varias opciones, puede agregarlas sin espacios. Mientras que para varios archivos, debe separarlos por 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 conteo.

                      $ wc testfile.txt
                    

Salida explicada:

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 en el 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 de la siguiente manera:

                      $ wc < testfile.txt
                    

Contar desde múltiples archivos

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.

Opciones

El comando wc tiene algunas opciones de línea de comandos. Echemos un vistazo a esas opciones y sus funciones:

Cuente el número de líneas

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 “testfile.txt”:

                      $ wc -l testfile.txt
                    

En el siguiente resultado, 12 es el número de líneas en el “testfile.txt”.

Cuente el número de palabras

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 el “testfile.txt”:

                      $ wc -w testfile.txt
                    

En el siguiente resultado, 21 es el número de palabras en el “testfile.txt”.

Contar el número de bytes

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 recuento de bytes en el “testfile.txt”:

                      $ wc -c testfile.txt
                    

En el siguiente resultado, 116 es el número de bytes en el “testfile.txt”.

Cuente el número de caracteres

Usando el comando wc con -metro o –caracteres opción, puede imprimir el número de caracteres en el archivo. Por ejemplo, el siguiente comando imprimirá solo el recuento de caracteres en el “testfile.txt”:

                      $ wc -m testfile.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.

Longitud de impresión de la línea más larga

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-longitud opción. Por ejemplo, el siguiente comando imprimirá la longitud de la línea más larga del “testfile.txt”:

                      $ wc -L testfile.txt
                    

En el siguiente resultado, 20 es la longitud de la línea más larga.

Ver versión

Para ver la versión del comando wc, use el siguiente comando:

                      $ wc --version
                    

Imprimir número de líneas y bytes

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:

                      $ wc -lc
                    

Nota: ya sea que ejecute -lc o -cl, la salida siempre estará en el mismo orden, es decir, conteo 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”.

Almacenar el conteo en un archivo

Para guardar la salida del comando wc en un archivo, use el operador > de la siguiente manera:

                      $ wc sample.txt > file_count
                    

Ejemplo de uso del comando Wc

Veamos algunos de los ejemplos del comando wc conectándolo con otros comandos.

Contar archivos en cualquier directorio

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:

                      $ find ~/Downloads/ -type f | wc -l
                    

El comando de búsqueda enumera todos los archivos en el directorio ~/Descargas de su sistema, que luego se canaliza al comando wc para obtener un recuento.

Contar el número de usuarios

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:

                      $ getent passwd | wc –l
                    

El comando ‘getent passwd’ enumera todos los usuarios en el sistema que luego se canaliza al comando wc para obtener un recuento.

Contar el número de paquetes instalados

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:

                      $ apt list --installed | wc -l
                    

El comando ‘apt list –installed” enumera todos los paquetes instalados en el sistema que luego se canaliza al comando wc para obtener un recuento.

Contar el número de palabras en particular en un archivo

Con el comando wc, puede contar el número de palabras en particular en un archivo. Por ejemplo, para encontrar cuántas veces apareció la palabra “ciencia” en el archivo llamado “muestra.txt”, el comando sería:

                      $ grep -o ‘science’ sample.txt | wc -w
                    

En esto exampleel 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.

Contar el número de caracteres en una línea específica

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 línea 50 del archivo llamado “sample.txt”, el comando sería:

                      $ head -50 sample.txt | tail -1 | wc -w
                    

En esto examplelos cabeza El comando enumerará las primeras 50 líneas del archivo sample.txt que luego se canaliza al comando tail. Los “ cola -1 El comando luego filtra la última línea (Línea No. 50) de la primera salida que obtuvo del cabeza mando. La salida del cola Luego, el comando se canaliza al comando wc para obtener un recuento de caracteres en la línea 50.

Usa un Script para contar

En el siguiente example, crearemos un script que contará líneas, palabras y bytes en un archivo. Al ejecutar el script, pasaremos el nombre del archivo como argumento, de modo que pueda ejecutar el mismo script para cualquiera de sus archivos.

Cree un script con las siguientes líneas de código:

                      #!/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
                    

Ahora ejecute el script pasando el nombre del archivo como argumento.

                      $ <./script_name> <path/to/filename>
                    

Por ejemplo, para obtener el recuento de líneas, palabras y caracteres del archivo llamado “sample.txt”, ejecute el script pasando sample.txt como argumento:

                      $ ./script2 sample.txt
                    

Después de ejecutar el script, recibirá un resultado similar que le mostrará el recuento 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:

                      $ ./script2 /etc/passwd
                    

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.

Related Posts