De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Wander Barbato
Data de Publicação: 13 de Novembro de 2009
Recentemente eu recebi um arquivo de um fornecedor de software que continha uma listagem com números de série de softwares a serem atribuídos aos nossos usuários. Eu queria criar uma listagem contendo apenas estes números de série (removendo as demais informações que para mim eram desnecessárias) e acrescentar um campo para conter o nome e a assinatura dos usuários responsáveis pelo respectivo número de série atribuído.
O formato do arquivo original (antigo.txt) era o seguinte:
<Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key> <Key ID="45" Type="AAA" ClaimedDate="2009/11/05">XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key>
Com a diferença que havia centenas de linhas...
Lembrei-me do comando awk e este resolveu o meu problema de imediato. A sintaxe utilizada foi:
awk -F">" '{print $2}' antigo.txt | \ awk -F"<" '{print NR " - "$1 " - Nome e assinatura:__________________________________"}' > novo.txt
O formato do arquivo gerado (novo.txt) ficou assim:
1 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 2 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 3 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 4 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 5 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 6 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 7 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 8 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 9 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________ 10 - XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Nome e assinatura:__________________________________
Explicando:
A opção -F do awk indica o "field-separator", ou seja, qual caractere indica separação entre diferentes campos de uma linha. Como não havia colunas separadas corretamente com espaços e/ou tabulação, utilizei esta opção para dividir a linha do arquivo em 2 campos:
<Key ID="45" Type="AAA" ClaimedDate="2009/11/05"
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key>
A saída deste comando foi direcionada para um novo processamento de awk que novamente dividiu a linha em 2 campos, ecoou apenas o número de série e acrescentou o número da linha (NR) antes e uma descrição
Nome e assinatura:__________________________________
em seguida.
Fonte: Notícias Linux
O Yahoo! decidiu publicar o código do Traffic Server, uma plataforma que eles mesmos desenvolveram para gerenciar o tráfego de seu webmail e outros serviços web. Entre outras coisas, a plataforma se encarrega do caching, processamento e balanceamento de carga no Yahoo!, além disso é utilizado para gerenciar o tráfego nos serviços de virtualização de armazenamento interno do Yahoo!.
Saiba Mais:
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários