martes, noviembre 12, 2013

Filtros en Linux.

Trabajos en la consola Linux


Intro:
El proceso de filtrar texto consisten en pasar un fichero de texto ( por ejemplo ) a la entrada de un comando que realizará las modificaciones indicadas para despues enviarlo a la salida estándar.
Ahora que conocemos operadores y redirecciones, no es mal momento para hablar de los filtros más utilizados para trabajar con tu consola. Deja atrás el "copy+paste" y comienza a manipular ficheros de forma eficaz y divertida:


Cat:
Nombre reducido de "concatenar" Utilizaremos este comando con los siguientes fines:
  • cat > fichero.txt : Podremos crear un fichero nuevo.
  • cat >> fichero.txt: Añadir información al fichero anteriormente creado.
  • cat fichero.txt: Nos permite ver el contenido del fichero.

Probemos entonces la concatenación de archivos. En primer lugar concatenaremos fichero_uno.txt y fichero_dos.txt en fichero_resultante.txt, sin que salga por pantalla :
  •  cat fichero_uno.txt fichero_dos.txt > fichero_resultante.txt.


Hagamos ahora que la concatenación salga por pantalla:

  • cat fichero_uno.txt fichero_dos.txt > fichero_resultante.tx | less



Join: 
Combina dos archivos comparando el contenido de los campos. Es un comando realmente útil y con mucho potencial pues realiza una concatenación de dos ficheros, igual que cat pero uniendo por un campo en comun entre los dos ficheros. A saber:

Contenido de fichero1.txt:
Cisco       Systems
Juniper     Networks
Siemens   AG

Contenido de fichero2.txt:
Cisco         Precio  1000
Juniper     Precio    800
Siemens    Precio  1200


Para ver la unión de los ficheros por los campos que coinciden, ejecutamos:

  • join fichero1.txt fichero2.txt


Cisco        Systems          Precio  1000
Juniper     Networks      Precio    800
Siemens    AG                Precio  1200


paste:

El comando paste nos facilita la tarea de "pegar" el contenido de un archivo en otro, sin embargo tiene alguna utilidad más empleando los modificadores -s y -d, de tal forma que si fichero1.txt  contiene ahora:


Cisco      
Juniper    
Siemens   
hola

Ejecutando: 
paste  -s fichero1.txt obtendremos el resultado de la columna en una linea:

 fichero1.txt
-----------------------------------
Cisco Juniper Siemens hola

Por otra parte, sin pasarle ningún argumento al comando paste, nos servirá para ver el contenido del fichero, como si de cat se tratase: paste fichero1.txt sacará por pantalla :

Cisco      
Juniper    
Siemens   
hola

Ahora, si ejecutamos:
paste  -d, -s fichero1.txt  ( ojo a la coma "," ) veríamos algo como esto:

"Cisco,Juniper,Siemens,hola"



En la próxima entrada vamos a revisar algunos comandos más de este tipo que también nos serán bastante útiles para manipular nuestros ficheros y trabajar con scripts.
Son comandos con una gran potencia y flexibilidad, aquí exploraremos su funcionamiento básico para tener con que empezar y saber de que herramientas disponemos para trabajar y realizar scrips.


No hay comentarios:

Publicar un comentario