Comandos Pipe, Grep y Sort en Linux/Unix con ejemplos
โก Resumen inteligente
En Linux y Unix, los comandos pipe, grep y sort encadenan y filtran texto: una tuberรญa (pipe) introduce la salida de un comando en el siguiente, grep busca patrones y sort organiza las lรญneas, mientras que los filtros transforman los datos entre ellos.

Las tuberรญas, grep y sort se encuentran entre las herramientas mรกs utilizadas en el Linux La lรญnea de comandos permite conectar comandos pequeรฑos en un flujo de trabajo potente. Esta pรกgina explica cada uno con ejemplos prรกcticos y muestra cรณmo los filtros los combinan.
ยฟQuรฉ es una tuberรญa en Linux?
La tuberรญa (pipe) es un comando de Linux que permite usar dos o mรกs comandos de forma que la salida de uno sirva como entrada para el siguiente. En resumen, la salida de cada proceso se introduce directamente en el siguiente, como en una tuberรญa. El sรญmbolo '|' representa una tuberรญa.
Las tuberรญas te permiten combinar dos o mรกs comandos simultรกneamente y ejecutarlos consecutivamente. Puedes usar comandos potentes que realizan tareas complejas en un instante.
Comprendamos esto con un ejemplo.
Cuando se utiliza el comando 'cat' para ver un archivo que abarca varias pรกginas, el indicador de comandos salta rรกpidamente a la รบltima pรกgina del archivo y no se ve el contenido intermedio.
Para evitar esto, puedes redirigir la salida del comando 'cat' a 'less', que te muestra solo una longitud de desplazamiento del contenido a la vez.
cat filename | less
Una ilustraciรณn lo aclararรญa. El diagrama a continuaciรณn muestra cรณmo una tuberรญa transmite la salida de un comando al siguiente.
Comandos 'pg' y 'mรกs'
En lugar de 'less', tambiรฉn puede usar el comando pg o more:
cat Filename | pg
or
cat Filename | more
A continuaciรณn, puedes visualizar el archivo en fragmentos fรกciles de leer y desplazarte hacia abajo simplemente pulsando la tecla Intro. La siguiente captura de pantalla muestra un archivo paginado con el comando `more`.
El comando 'grep'
Supongamos que quieres buscar informaciรณn especรญfica, como un cรณdigo postal, en un archivo de texto.
Puedes ojear manualmente el contenido tรบ mismo para tracla informaciรณn. Una mejor opciรณn es utilizar la grep comando. Escanea el documento en busca de la informaciรณn deseada y presenta el resultado en el formato que usted prefiera.
Sintaxis:
grep search_string
Veรกmoslo en acciรณn. La captura de pantalla a continuaciรณn muestra el resultado de la bรบsqueda.
Aquรญ, el comando grep ha buscado en el archivo 'sample' las cadenas 'Apple' y 'Eat'. Se pueden usar las siguientes opciones con este comando.
| Opciรณn | Funciรณn |
|---|---|
| -v | Muestra todas las lรญneas que no coinciden con la cadena buscada. |
| -c | Muestra solo el recuento de lรญneas coincidentes. |
| -n | Muestra la lรญnea coincidente y su nรบmero. |
| -i | Coincide tanto con mayรบsculas como con minรบsculas. |
| -l | Muestra solo el nombre del archivo con la cadena. |
Probemos la opciรณn '-i' en el mismo archivo utilizado anteriormente. La captura de pantalla a continuaciรณn muestra el resultado sin distinciรณn entre mayรบsculas y minรบsculas.
Al usar la opciรณn '-i', grep ha filtrado la cadena 'a' (sin distinguir entre mayรบsculas y minรบsculas) de todas las lรญneas.
El comando 'ordenar'
Este comando ayuda a ordenar alfabรฉticamente el contenido de un archivo.
La sintaxis de este comando es:
sort Filename
Considere el contenido de un archivo, que se muestra con el sรญmbolo de gato a continuaciรณn.
Al ejecutar el comando de ordenaciรณn, esas lรญneas se organizan en orden alfabรฉtico, como se muestra a continuaciรณn.
Este comando tambiรฉn tiene extensiones, que se enumeran a continuaciรณn.
| Opciรณn | Funciรณn |
|---|---|
| -r | Reverseclasificaciรณn de s |
| -n | Ordena numรฉricamente |
| -f | Ordenaciรณn sin distinciรณn entre mayรบsculas y minรบsculas |
El siguiente ejemplo muestra la clasificaciรณn inversa del contenido del archivo "abc".
ยฟQuรฉ es un filtro?
Linux cuenta con numerosos comandos de filtro, como awk, grep, sed, spell y wc. Un filtro toma como entrada un comando, realiza algรบn procesamiento y genera una salida.
Al encadenar dos comandos, la salida "filtrada" del primero se pasa al siguiente. El siguiente diagrama ilustra cรณmo se integra un filtro en una secuencia de comandos.
Vamos a entender esto con la ayuda de un ejemplo. Tenemos el siguiente archivo 'sample', que se muestra con cat a continuaciรณn.
Queremos resaltar รบnicamente las lรญneas que no contienen el carรกcter 'a', pero el resultado debe estar en orden inverso. Para ello, se puede utilizar la siguiente sintaxis:
cat sample | grep -v a | sort -r
Veamos el resultado, que se muestra en la captura de pantalla a continuaciรณn.







.png)
.png)

