lunes, 15 de febrero de 2010

Usando GAWK

Cuando grep y sed no son suficiente, gawk podría ofrecer el caballo de fuerza extra que necesitas. El siguiente tip contiene un ejemplo de algunas de las cosas que se podrían hacer con gwak.

Extraer la ultima columna de un archivo de texto, separado por espacio en blanco:

cat myfile | gawk '{print $NF}'

o:

gawk '{print $NF}' myfile

Listar el total de archivos perteneciente a cada usuario en el directorio actual:

/bin/ls -l | \
gawk 'NR > 1 {counts[$3]++;}
END {for (s in counts) {
printf(" %-15s : % 5d\n",
s, counts[s]);}}' | \
sort

Terminar un proceso (se puede usar para terminar un login colgado si puedes logearte remotamente a la estación desde otra maquina):

ps -elf | \
gawk -v me="$USER" '$3 == me {print $4}' | \
egrep -v $$ | \
xargs -i@@ kill -9 @@; kill -9 $$


Mas

No hay comentarios: