!["cmp -s file1 file2"는 출력을 생성하지 않습니다.](https://linux55.com/image/138416/%22cmp%20-s%20file1%20file2%22%EB%8A%94%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
$ cmp -s file1 file2
위 명령은 다음과 같은 경우에는 아무것도 반환하지 않습니다.
- 사례 1: 두 파일(file1과 file2)이 다릅니다.
- 사례 2: 두 파일(file1 및 file2)이 동일합니다.
위의 모든 방법을 시도했지만 내 유닉스 시스템은 민감하지 않습니다.
답변1
-s
이다조용한, 이는 cmp
아무것도 출력하지 않고 파일이 동일한지 여부를 종료 상태에 반영하여 if
쉘 문에서 사용할 수 있도록 지시합니다.
if cmp -s file1 file2; then
echo same
else
echo differ or error
fi
또는:
cmp -s file1 file2 && rm file2
무언가를 출력하려면 삭제하십시오 -s
. 그런 다음 cmp
파일이 다르면 시작 위치가 다르다는 메시지가 출력됩니다.
¹ 파일이 다를 때가 아니라 파일을 열 수 없을 때 오류 메시지를 표시하는 일부 구현을 제외합니다.
답변2
1번 사건에 대해 질문이 있습니다. cmp가 아무것도 반환하지 않으면 파일은 아마도 동일할 것입니다. diff file1 file
확인해 보세요 sum file1 file2
. 인쇄할 수 없는 문자에 차이가 있을 수 있습니까?