Awk & Sed
fabs em 22/10/2009Agora que além de aprendiz de cientista da computação, eu virei Engenheiro de Informática e Redes em treinamento, tenho aulas de Administração de Sistemas aqui em ESISAR.
Um dos exercícios de Trabalho Prático (Exercício Programa + Professor para quem é do IME) era escrever um script que listasse todos os usuários em /etc/passwd.
Rapidamente me lembrei de “Cadu punhos de aço” e dei minha resposta usando sed, entretanto, o que você vê abaixo é uma versão melhorada e corrigida por Tiago Peczenyj (obrigado thiago):
root@linux# sed -nr ‘/^(\[^:]+):x:([^0\]\[0-9\]{2,}).*$/{s//\2 – \1/;p}’ /etc/passwd
Feliz com a minha resposta, o professor mostrou o mesmo comando com awk:
root@linux# awk -F’:’ ‘{ if ($3 > 100) printf “%s – %s \n”,$3,$1}’ /etc/passwd
(nos comentários existem versões com melhorias :-)
Achei fantástico como awk pode ser mais verboso. Alguém ai conhece um ou outro e pode mostrar umas dicas?
Para quem quer aprender um dos dois, ficam aqui os links: