Comando Pipe, Grep y Sort en Linux / Unix con ejemplos

En este tutorial, aprenderemos:

  • ¿Qué es una tubería en Linux?
  • comandos 'pg' y 'más'
  • El comando 'grep'
  • El comando 'ordenar'
  • ¿Qué es un filtro?

¿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 le ayudan a combinar dos o más comandos al mismo tiempo y ejecutarlos de forma consecutiva. Puede utilizar poderosos comandos que pueden realizar tareas complejas en un santiamén.

Entendamos esto con un ejemplo.

Cuando usa el comando 'cat' para ver un archivo que ocupa varias páginas, el indicador 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 aclararía.

Haga clic aquí si el video no es accesible

comandos 'pg' y 'más'

En lugar de 'menos', también puede usar.

cat Filename | pg 

o

cat Filename | more

Y puede ver el archivo en bits digeribles y desplazarse hacia abajo simplemente presionando la tecla Intro.

El comando 'grep'

Suponga que desea buscar una información particular en el código postal de un archivo de texto.

Puede hojear manualmente el contenido usted mismo para rastrear la información. Una mejor opción es usar 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í, el comando grep 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
-norte Muestra la línea coincidente y su número.
-I Coincidir con 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 uso de archivo anterior -

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 a 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 sort

También hay extensiones para este comando, y se enumeran a continuación.

Opción

Función

-r

Invierte la clasificación

-norte

Ordena numéricamente

-F

Clasificación que no distingue entre mayúsculas y minúsculas

El siguiente ejemplo muestra la ordenación inversa de los contenidos en el archivo 'abc'.

¿Qué es un filtro?

Linux tiene muchos comandos de filtrado como awk, grep, sed, spell y wc. Un filtro toma la entrada de un comando, realiza algún procesamiento y da salida.

Cuando canaliza dos comandos, la salida "filtrada" del primer comando se transmite 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

Miremos el resultado.

Resumen:

  • Tuberías '|' enviar la salida de un comando como entrada de otro comando.
  • El filtro toma la entrada de un comando, realiza algún procesamiento y da salida.
  • El comando grep se puede utilizar para buscar cadenas y valores en un documento de texto.
  • La instalación de tuberías a través de grep debe ser uno de los usos más comunes.
  • El comando 'sort' clasifica el contenido de un archivo alfabéticamente
  • Los comandos less, pg y more se utilizan para dividir un archivo largo en bits legibles

Articulos interesantes...