我目前正在对两个不同命令的输出sort
执行此操作:uniq
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
简而言之,我将源 MAC 地址和 IP 输出到文件中。然后,我将目标 MAC 地址和 IP 附加到同一文件中。
然后,我sort
将文件输入到其中,uniq
最终得到唯一的 MAC 到 IP 地址映射的列表。
有没有办法在一行中完成此操作?
(注意:这里的使用tshark
并不真正相关,我的问题适用于任何两个这样的输出源)
答案1
sort
可以接受多个输入文件(并且有一个内置的等效文件uniq
)-u
。将其与幻想结合起来bash
流程替代以导致:
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
答案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