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.

¿Qué es una tubería en Linux?

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.

Comandos 'pg' y 'más'

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 –

El comando 'grep'

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 'grep'

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.

El comando 'ordenar'

Usando el comando ordenar

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".

El comando 'ordenar'

¿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.

¿Qué es un filtro?

Entendamos esto con la ayuda de un ejemplo.

Tenemos el siguiente archivo 'muestra'

¿Qué es un filtro?

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.

¿Qué es un filtro?

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