Agora 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:

Sed - Un Introduction Tutorial by Bruce Brannet

Awk - A tutorial

Posts Relacionados:

  • No related posts
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.