Comandos Pipe, Grep y Sort en Linux/Unix con ejemplos
¿Qué es una tubería en Linux?
Pipe es un comando en Linux que le permite usar dos o más comandos de modo que la salida de un comando sirva como entrada para el siguiente. En resumen, la salida de cada proceso directamente como entrada al siguiente como una tubería. El símbolo '|' denota una pipa.
Las tuberías te ayudan a combinar dos o más comandos al mismo tiempo y ejecutarlos consecutivamente. Puedes usar comandos potentes que pueden realizar tareas complejas en un santiamén.
Comprendamos esto con un ejemplo.
Cuando utiliza el comando "cat" para ver un archivo que abarca varias páginas, el mensaje salta rápidamente a la última página del archivo y no ve el contenido en el medio.
Para evitar esto, puede canalizar la salida del comando 'cat' a 'menos', lo que le mostrará solo una longitud de desplazamiento de contenido a la vez.
cat filename | less
Una ilustración lo dejaría claro.
Haga clic aquí si el video no es accesible
Comandos 'pg' y 'más'
En lugar de “menos”, también puedes utilizar.
cat Filename | pg
or
cat Filename | more
Y puede ver el archivo en bits digeribles y desplazarse hacia abajo simplemente presionando la tecla Intro.
El comando 'grep'
Supongamos que desea buscar una información particular, el código postal, en un archivo de texto.
Puede hojear manualmente el contenido usted mismo para rastrear la información. Una mejor opción es utilizar el comando grep. Escaneará el documento en busca de la información deseada y presentará el resultado en el formato que desee.
Sintaxis:
grep search_string
Veámoslo en acción –
Aquí, grep El comando ha buscado en el archivo "muestra", la cadena "Apple" y "Eat".
Las siguientes opciones se pueden utilizar 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 | Coincidir ambas mayúsculas y minúsculas |
-l | Muestra solo el nombre del archivo con la cadena. |
Probemos la primera opción. '-i' en el mismo archivo use arriba –
Usando la opción 'i', grep ha filtrado la cadena 'a' (no distingue entre mayúsculas y minúsculas) de todas las líneas.
El comando 'ordenar'
Este comando ayuda en ordenar alfabéticamente el contenido de un archivo.
La sintaxis de este comando es:
sort Filename
Considere el contenido de un archivo.
Usando el comando ordenar
Hay extensiones a este comando también, y se enumeran a continuación.
Opción | Función |
---|---|
-r | Revclasificación de erses |
-n | Ordena numéricamente |
-f | Clasificación que no distingue entre mayúsculas y minúsculas |
El siguiente ejemplo muestra la clasificación inversa del contenido del archivo "abc".
¿Qué es un filtro?
Linux tiene muchos comandos de filtro como awk, grep, sed, hechizo y wc. Un filtro toma información de un comando, realiza algún procesamiento y genera resultados.
Cuando canaliza dos comandos, la salida "filtrada" del primer comando se pasa al siguiente.
Entendamos esto con la ayuda de un ejemplo.
Tenemos el siguiente archivo 'muestra'
queremos resaltar solo 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.
Resumen:
- Las canalizaciones '|' envían la salida de un comando como entrada de otro comando.
- El filtro toma información de un comando, realiza algún procesamiento y genera resultados.
- El comando grep se puede utilizar para buscar cadenas y valores en un documento de texto.
- La tubería a través de grep tiene que ser uno de los usos más comunes.
- El comando 'ordenar' ordena el contenido de un archivo alfabéticamente
- Los comandos less, pg y more se utilizan para dividir un archivo largo en bits legibles