Al usar la línea de comando, puede usar directamente la salida de un programa (como una herramienta que genera cierta información o estadísticas del sistema) como otro programa (como una herramienta de filtrado de texto o búsqueda de patrones, como grep, sed o awk ) para su posterior procesamiento ), utilizando tuberías.
Las dos utilidades de línea de comando más importantes que se pueden usar con canalizaciones para crear líneas de comando son:
- xargs: lee un flujo de datos de la entrada estándar, luego genera y ejecuta una línea de comando.
- tee: lea desde la entrada estándar y escriba simultáneamente en la salida estándar y en uno o más archivos. Es más como un comando de redirección.
En este breve artículo, describimos cómo construir y ejecutar múltiples comandos usando la entrada estándar tubería, Tee, y xargs Comando en Linux.
La sintaxis más simple usando un tubería, que puede haber visto en los comandos de muchos de nuestros tutoriales de Linux, como se muestra a continuación. Pero puede crear líneas de comandos más largas con varios comandos.
$ command1 args | command2 args OR # command1 args | command2 args | command3 args ...
El siguiente es un ejemplo de cómo canalizar la salida del comando dmesg al comando head.
$ dmesg | head
Tabla de Contenidos
Cómo ejecutar comandos con xargs
En este ejemplo, el segundo comando usa xargs para convertir la salida de varias líneas en una sola línea.
$ ls -1 *.sh $ ls -1 *.sh | xargs
Para contar el número de líneas/palabras/caracteres de cada archivo en la lista, use el siguiente comando.
$ ls *.sh | xargs wc -l #count number of lines in each file $ ls *.sh | xargs wc -w #count number of words in each file $ ls *.sh | xargs wc -c #count number of characters in each file $ ls *.sh | xargs wc #count lines, words, and characters in each file
El siguiente comando busca y elimina recursivamente archivos llamados All
en el directorio actual.
$ find . -name "All" -type d -print0 | xargs -0 /bin/rm -rf "{}"
Buscar comando con opciones -print0
La operación permite imprimir la ruta completa del directorio en la salida estándar, seguida de un carácter nulo y -0 xargs
Indicador para manejar espacios en los nombres de archivo.
Puedes encontrar otros útiles comando xargs Ejemplos de uso de estos artículos:
Cómo usar Tee con comandos en Linux
Este ejemplo muestra cómo enviar la salida del comando a la salida estándar y guardarla en un archivo; el siguiente comando le permite ver los principales procesos en ejecución en Linux con uso de memoria y CPU.
$ ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head | tee topprocs.txt $ cat topprocs.txt
Para agregar datos a un archivo existente, pase -a
bandera.
$ ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head | tee -a topprocs.txt
Puedes encontrar Tee y xargs página de manual
$ man xargs $ man tee
¡eso es todo! No olvide consultar nuestro artículo destacado: Comandos Linux A – Z: descripción general y ejemplos.
En este artículo, describimos cómo usar tuberías para generar líneas de comando; los comandos xargs y tee. Puede hacer cualquier pregunta o compartir sus pensamientos a través del formulario de comentarios a continuación.
Si aprecia el trabajo que hacemos en TecMint, debe considerar:
TecMint es el sitio comunitario de más rápido crecimiento y más confiable para artículos, guías y libros de Linux de cualquier tipo en la web. ¡Millones de personas visitan TecMint! Busque o explore miles de artículos publicados disponibles gratuitamente para todos.
Si le gusta lo que está leyendo, considere ofrecernos una taza de café (o 2) para agradecernos.
Agradecemos su apoyo interminable.