Refosco Ingeniería Informática

Refosco Ingeniería Informática
Rivadavia 877 CP 3306 Oberá Mnes. Te 03755 406060

lunes, 5 de abril de 2010

Comando awk

Estaba navegando y me encontré con algo que en otro momento me ubiese venido muy bien para extraer u obtener campos de un archivo.
El comando es awk, en realidad es un lenguaje de programación al menos eso dice.
Awk lee las líneas de un archivo y cada línea es separada por campos, el separador de campos es especificado con -F o sea que -F: idicará que los campos estan separados por : , como el caso de /etc/passwd.
Para cada línea se hace un procedimieto.
awk '{print $1}'  esto imprime o mostraría el primer campo
awk '{print $2, $1}'  esto imprime o mostraría el segundo campo y luego el primer campo.
awk '{print $1, $1*$1}'  esto imprime o mostraría el primer campo  y su cuadrado.
Notese el uso de las comillas, necesarias para evitar problemas con el shell.
Lo que haremos ahora es volcar los campos seleccionados de Nombre_archivo a otro por ejemplo prueba hacemos:
awk '{print $1}'  Nombre_archivo > prueba.txt
Para el caso que como usuario comun queremos tomar los nombres de los usuarios de nuestro sistema Linux podemos hacer:
awk  -F: '{print $1}' /etc/passwd  > /home/daniel/prueba.txt
Con esto prueba.txt tendrá los nombres de usuarios.
Hay expresiones mas elaboradas con awk pero creo que para empezar esta bueno.