**Power Tool PIPE : ** Nos permite anidar operaciones, mandando el STDOUT del primer comando al STDIN del segundo, es muy diferente a usar ; ya que este sólo ejecuta un comando tras otro.
Ejemplos:
$ ls -l | wc -l //contar las lineas del STDOUT del primer comando
$ cat file.csv | grep -i open > allOpen.csv | wc -l // abrir y buscar la palabra “open” dentro del archivo .csv, luego almacenar el STDOUT en allOpen.csv y luego contar los resultados
- **awk **: Es un comando de procesamiento de texto que sirve para demasiadas cosas y en realidad requiere un estudio profundo :
es este caso en particular la usaremos para separar columnas de datos
$ awk -F “,” ‘{printf("%s:%s\n",$2,$4)}’ // sé que si lo pongo así es dificl de entender por eso trataré de explicarlo por partes ...
$ awk -F // es el estandar se separación de columnas
$ awk -F"::" '{printf("%s:%s\n") // aquí indicamos que el archivo utiliza una separación de ::
( hay varios tipos de separación entre ellos : ; | : ), luego indicamos que vamos a ocupar sólo dos cadenas de texto (columnas), separadas con “:” y al final haremos un salto de linea \n
$ awk -F “,” ‘{printf("%s:%s\n",$2,$4)}’ // por ultimo indicamos las dos columnas que necesitamos, en este caso la $2 y la $4 y listo ! Nota: el numero de columna es como en Excel donde A es 1 B es 2, ect
Espero hayan entendido mi explicación y no olviden seguir estudiando todas las posibilidades brindadas por awk :D.