두 개의 "awk" 명령의 출력 비교

두 개의 "awk" 명령의 출력 비교

두 명령의 출력 차이를 계산하려고 하는데 awk간단한 시도가 실패하는 것 같습니다. 이것이 내가 시도하는 것입니다:

diff $(awk '{print $3}' f1.txt | sort -u) $(awk '{print $2}' f2.txt | sort -u)

나에게 알려지지 않은 이유로 인해 작동하지 않습니다. 나는 이 구성이 다른 명령의 출력을 캡처하기 위한 것이라고 가정 $()하지만 내 "diff" 호출은 여기에 제공된 두 개의 입력을 인식하지 못합니다. 이 작업을 수행할 수 있는 방법이 있나요?

그런데 "쓰기" 권한이 없는 프로덕션 장치에 로그인했기 때문에 이 두 명령의 출력을 별도의 파일에 기록하는 확실한 솔루션을 사용할 수 없습니다.

답변1

diff두 파일의 이름이 모두 필요하므로 두 파일에 두 출력을 배치하고 비교해야 합니다.

awk '{print $3}' f1.txt | sort -u > out1
awk '{print $2}' f2.txt | sort -u > out2
diff out1 out2

ksh93또는 , bash또는 을 사용하여 zsh프로세스 대체를 사용할 수 있습니다.

diff <(awk '{print $3}' f1.txt | sort -u) <(awk '{print $2}' f2.txt | sort -u)

관련 정보