私は現在、2つの異なるコマンドの出力を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アドレスへのマッピングのリストを作成します。
これを1行で行う方法はありますか?
(注:ここではtshark
の使用はあまり関係ありません。私の質問は、そのような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
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