두 폴더 (및 ) diff -rq
간의 차이점을 확인하고 있습니다. 예상되는 일이기 때문에 폴더에 새 파일이 있는지 알고 싶지 않습니다. 이러한 메시지가 표시되지 않도록 하려면 어떻게 해야 합니까?A
B
A
답변1
이제 실제 키보드에 대한 의견을 확장하겠습니다.
원하는 작업을 수행하는 유일한 방법은 파일을 개별적으로 비교하는 것입니다. 다음과 같이 조합하여 이를 find
수행 할 수 있습니다.xargs
(cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH
이는 최상위 디렉토리를 기준으로 B의 모든 파일 목록을 생성하고 xargs를 사용하여 diff -q
B의 파일을 A의 동일한 경로와 비교하는 일련의 명령을 실행합니다.
디렉터리의 내용이 동일한 경우 출력이 생성되지 않으며 반환 코드는 다음과 같습니다 0
.
$ (cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH
$ echo $?
0
차이가 있으면 diff -q
반환 코드와 함께 콘솔에 메시지를 인쇄합니다 123
.
$ (cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH
Files A/./dir2/dir3/file1 and B/./dir2/dir3/file1 differ
$ echo $?
123