$ 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
. 인쇄할 수 없는 문자에 차이가 있을 수 있습니까?