Jugando con las pipes en Linux: ejemplos prácticos

pipes (tuberías de cobre soldadas)

Las tuberías o pipes son una de las maravillas del mundo Unix que ha heredado Linux. Con ellas puedes hacer multitud de cosas útiles en el terminal para enlazar comandos. Algo que no podrías hacer si no existiesen. Pero aún siguen causando algunas confusiones a algunos usuarios con poca experiencia o que acaban de llegar al muno *nix desde otro sistema operativo como Microsoft Windows.

Por eso, con este tutorial vamos a jugar con ellas mostrando algunos ejemplos prácticos que pueden ayudarte en tu día a día cuando trabajes en la línea de comandos. Verás como son bastante simples de usar y te pueden aportar muchísimo. Así que te animo a seguir leyendo y viendo los ejemplos…

  • «Dosificar» la salida de un comando. De esta forma, puedes usar more o less para poder navegar a través de la salida de información de cualquier comando. Por ejemplo, la salida de un listado de ficheros y directorios, o la de procesos que respondan al nombre de «office»:

ls -al | more

ps aux | grep office | less

  • Contar el número de líneas que tiene la salida de un comando o un fichero. Por ejemplo, ver las líneas que tiene un fichero ejemplo.txt o la cantidad de procesos en marcha (recuerda restar 1, porque la primera línea es la cabecera) e incluso la cantidad de ficheros o directorios:

cat ejemplo.txt | wc -l
ps aux | wc -l
ls | wc -l

  • Localizar una línea o palabra concreta, por ejemplo la IP que comienza por 192.168 de las interfaces de red activas:
 
ifconfig | grep 192.168
  • Localizar unos valores concretos, por ejemplo los permisos de los ficheros y directorios, y mostrar los PID de los procesos correspondientes con systemd:
 
ls -lR | grep rwx
ps aux -ef | grep systemd | awk '{ print $2 }'
  • Ordenar las líneas de un fichero por orden alfabético:
cat ejemplo.txt | sort 
  • Ver las primeras o últimas 10 líneas de un fichero, pero solo las que contengan una palabra concreta:
head /var/log/syslog | grep WARNING
tail -f /var/log/syslog | grep error

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   01101001b dijo

    Gracias por el artículo! Comparto totalmente lo de «maravillas del mundo Unix q Linux ha heredado». Al día de hoy me doy con pipes q alguien necesitó escribir para manejar una situación en particular q son tan geniales q uno queda azorado preguntándose «¿y esto funciona??» y la verdad, sí, funciona. Realmente son una maravilla.

    1.    Isaac dijo

      Gracias a ti por leernos!

  2.   Alejandro Pinato dijo

    Excelente explicación. Gracias por compartir.