joao_vitorino
(usa Red Hat)
Enviado em 04/08/2014 - 13:34h
daemonio escreveu:
O sed pode substituir a duplinha head | tail para pegar uma linha específica.
Por exemplo, para ir direto na linha 25do arquivo, com o sed fica:
sed -n 25p
Eu não entendi o que seu script deve fazer. Ele remove linhas duplicadas (com a mesma palavra inicial)? Se for, tem uma solução mais simples e elegante, que é executar um sort e depois uniq.
Em primeiro lugar obrigador pela ajuda daemonio.
o sed -n 25p, não me atende pq não sei qual o número da linha que estão as informações duplicadas.
o sort e depois uniq tbm não me atende pq preciso dos dados apenas da primeira linha que tem os dados duplicados ( as linhas não são identicas, apenas a primeira palavra de cada linha que pode ou não ser igual a da linha seguinte.
para ficar melhor de entender, abaixo um exemplo do arquivo a ser editado pelo script.
Server1; HD001, MEM, ABC123
Server1; HD002; MEMORIA, USUÀRIO
Server3; HD001; MEM; XYZ
Server4; HD001; MEM; 5678
Server001; HD001; ETC
Quero somente 1 linha para cada servidor no arquivo de saída. Ficaria assim.
Server1; HD001, MEM, ABC123
Server1; HD002; MEMORIA, USUÀRIO
Server3; HD001; MEM; XYZ
Server4; HD001; MEM; 5678
Server001; HD001; ETC
Mas esse arquivo é variavel, não sei que linha estão os servidores repetidos, não sei quais são os servidores repetidos e nem quantas vezes ele se repete.