두 명령의 출력 차이를 계산하려고 하는데 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)