Método ‘Quick And Dirty’ de fazer as coisas.
Problema: Uma lista com 780 mac addresses com letras maiusculas, que serão utilizados para gerar configurações de telefones IP.
Solução: Um one-liner com for + tr :D
Materiais: comando for, a lista com os mac address (mac_list), o comando tr
Comando:
for i in $(cat mac_list ) ; do echo $i | tr [A-Z] [a-z] >> lista_oficial_de_macs ; done
I really love One-Liners :D
Em caso de dúvida, use o sed. Método [menos] quick and dirty, bem mais rápido, com sed:
sed ‘s/./\l&/g’ mac_list >> lista_oficial_de_macs
ou
sed ‘s/.*/\L&/’ mac_list >> lista_oficial_de_macs
Com o sed é possível também trabalhar em somente um pedaço do string.
O problema é que o echo altera o arquivo original, tirando os espaços, se existirem. O tr não funcionou no Ubuntu, muda qualquer maiúscula para “a”, talvez funcione no Debian.