One-liner para ordenar e uniq duas saídas

2

Atualmente, estou fazendo isso para sort e uniq da saída de dois comandos diferentes:

tshark -r sample.pcap -T fields -e eth.src -e ip.src > hello
tshark -r sample.pcap -T fields -e eth.dst -e ip.dst >> hello
sort < hello | uniq > hello_uniq

Resumidamente, estou enviando endereços MAC e IPs de origem para um arquivo. Estou anexando endereços MAC e IPs de destino ao mesmo arquivo.

Eu, então, sort do arquivo e insiro isso em uniq para terminar com uma lista de MAC exclusivo para mapeamento de endereço IP.

Existe uma maneira de fazer isso em uma linha?

(Nota: o uso de tshark não é realmente relevante aqui, minha pergunta se aplica a quaisquer duas fontes de saída como essa)

    
por Juicy 10.06.2015 / 02:00

2 respostas

2

(tshark -r sample.pcap -T fields -e eth.src -e ip.src; tshark -r sample.pcap -T fields -e eth.dst -e ip.dst) | sort | uniq > hello_uniq

    
por 10.06.2015 / 02:24
2

sort pode receber vários arquivos de entrada (e possui% deuniq equivalente -u ). Combine isso com uma substituição de processo bash para resultar em:

sort -u <(tshark -r sample.pcap -T fields -e eth.src -e ip.src) <(tshark -r sample.pcap -T fields -e eth.dst -e ip.dst) > hello_uniq

    
por 10.06.2015 / 02:31