Language: es Author: ~ferorge Email: ferorge@texto-plano.xyz Affiliation: https://sobnix.ar Date: 2025-09-04 copyright: 2025, ~ferorge, CC BY-SA 4.0. KeyWords: sobnix, guias, bash, pipes css: lynx.css Quotes Language: es Base Header Level: 1 # Tuberías Las tuberías y la redirección de entrada y salida permiten a los usuarios redirigir el flujo de datos entre procesos y ficheros, facilitando la automatización de tareas y la manipulación de datos. ## Casos de uso frecuentes * Gestión de ficheros. * Búsqueda de patrones. ## Sintaxis básica ### Tipos de entrada * Entrada por teclado: __-__ * Entrada por fichero: __<__ * Entrada por variable: __'__ * Falta de entrada: __ __ ### Tipos de salida * Salida por pantalla: __-__ * Salida por fichero: * __>__: sobreescribe el fichero. * __>>__: agrega al final del fichero. * Salida por variable: (` `) * Falta de salida (`2>`): Indica que no se debe mostrar la salida normal (stdout). En su lugar, se redirige a un fichero o al terminal de error (stderr). Por ejemplo, `command 2> error.txt`. * Ambos (1>) o (1>>): Especifica que tanto el output como el error se enviarán al mismo lugar, ya sea a un fichero o al terminal. Por ejemplo, `command > resultado.txt 2>&1`. - **Tubería (|): Permite enviar el salida de un comando como entrada a otro comando. En bash, la salida de error es una salida secundaria que muestra información sobre errores o problemas que pueden ocurrir durante la ejecución de un comando o programa. Por defecto, la salida de error se envía al terminal de error (stderr). Sin embargo, se puede redireccionar a un fichero o a otra fuente de entrada utilizando los símbolos `2>`, `2>>` y `2>&1`. 1* Salida de error al fichero (`2>`): Envía la salida de error a un fichero específico, sobrescribiendo el contenido del fichero si se utiliza `>`. Por ejemplo, `ls -l /nonexistent_directory 2> error.txt` enviará el error al fichero `error.txt`. 2* Agregar salida de error al final del fichero (`2>>`): Envía la salida de error al final de un fichero específico, agregándolo al contenido existente. Por ejemplo, `ls -l /nonexistent_directory 2>> error.txt` agregará el error al final del fichero `error.txt`. 3* Salida de error y salida normal al mismo lugar (`2>&1`): Envía tanto la salida normal como la salida de error a un lugar específico, ya sea a un fichero o al terminal. Por ejemplo, `ls -l /nonexistent_directory 2>&1 > output.txt` enviará tanto la salida normal como la salida de error al fichero `output.txt`. Es importante tener en cuenta que la salida de error se utiliza a menudo para identificar problemas o errores que pueden ocurrir durante la ejecución de comandos y programas, lo que facilita la depuración y el seguimiento de actividades en sistemas Unix-like. ## Ejemplos Por ejemplo, `cat -` leerá hasta que el usuario presione Ctrl+D. Por ejemplo, `echo "Hola mundo" > saludo.txt` sobreescribirá el fichero o `>>` agregará al final. Por ejemplo, `output=$(echo "Hola mundo")`. Crear un fichero con una fecha actual: ```console $ echo "Fichero creado el $(date +%Y-%m-%d)" > fichero_con_fecha.txt ``` Agregar información a un fichero: ```console $ echo "Nueva línea" >> fichero.txt ``` Encontrar y reemplazar texto en un fichero: ```console $ sed -i 's/antiguo/nuevo/g' fichero.txt ``` Leer un fichero y escribir las líneas impares en otro fichero: ```console $ awk 'NR % 2 == 1 {print}' fichero_origen.txt > fichero_destino.txt ``` ## Documentación Consulta la documentación del comando para obtener más información: ```console $ ``` ## Licencia _pipes_ está incluido en _bash_ y es distribuido bajo licencia _GPLv3_. ________________________________________________________________________________ ### Autoría Tuberías © 2025 por \~ferorge [ferorge@texto-plano.xyz](mailto:ferorge@texto-plano.xyz).