두 출력을 정렬하고 유니칭하기 위한 단일 라인

두 출력을 정렬하고 유니칭하기 위한 단일 라인

나는 현재 두 가지 다른 명령의 출력으로 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

관련 정보