O uso de várias instruções sed na linha de comando

0

Estou usando o comando abaixo para gerar uma lista de endereços IP em uma linha com a instrução "working IP" após cada IP

cat eciremoteExec1.txt | sort | uniq -c | awk -F " " '{print $3}' | sed 's/$/ working IP/'  | sed -e '0,/ working IP/ s/ working IP//' | sed '$ d' | paste -s -d ' ' | sed 's/working IP$//'

A saída é assim:

147.123.41.112 working IP 129.138.70.113 working IP 173.230.45.54 working 
IP 133.218.250.56 working IP 136.203.152.128 working IP 117.22.29.254 
working IP 117.3.11.111 working IP 127.59.131.236 

Eu cansei para sed várias vezes para fazer com que parecesse o que eu queria. Existe uma abordagem melhor do que usar o sed várias vezes?

    
por crypt0 17.12.2016 / 16:32

1 resposta

0

provavelmente é possível combinar as três primeiras chamadas sed assim:

cat eciremoteExec1.txt | sort | uniq -c | awk -F " " '{print $3}' |
   sed 's/$/ working IP/;s/ working IP//; $ d' | paste -s -d ' ' |
   sed 's/working IP$//'

mas é difícil dizer sem saber quais entradas são legais e qual saída é desejada.

    
por 19.12.2016 / 02:00