Los creadores de Unix tenían una idea brillante: en lugar de hacer programas enormes que lo hagan todo, es mejor hacer programas pequeños que hacen una sola cosa bien y luego conectarlos entre sí.
El pipe (|) es lo que hace posible esa conexión. Toma la salida de un comando y la pasa como entrada al siguiente.
¿Qué pasa aquí?
ls -la lista todos los archivos en formato largo| toma esa lista y se la pasa a grepgrep ".txt" filtra y muestra solo las líneas que contienen ".txt"El resultado: solo ves los archivos .txt. Dos comandos simples, combinados, hacen algo que ninguno podría hacer solo.
Esto cuenta las líneas de un archivo. cat muestra el contenido y wc -l cuenta las líneas que recibe.
wc -w cuenta palabras. El resultado: 3.
No estás limitado a dos comandos. Puedes encadenar tantos como necesites:
cat muestra el contenidosort ordena las líneasuniq elimina las duplicadasCada pipe pasa el resultado al siguiente comando. Los datos fluyen de izquierda a derecha como agua por una tubería (de ahí el nombre "pipe").
Puedes combinar pipes con redirección para guardar el resultado final:
Los pipes procesan los datos y > guarda el resultado final en un archivo. Lo mejor de ambos mundos.
Los pipes son lo que convierte la terminal de una herramienta simple en una herramienta extraordinariamente potente. Con pipes puedes:
Es el superpoder de Linux.
Cuenta cuántos archivos hay en el directorio actual combinando ls y wc:
El pipe toma la lista de archivos de ls y wc -l cuenta cuántas líneas hay — cada línea es un archivo.