grep
즉, rsync를 사용하여 경로와 파일 이름을 변경(추가, 삭제, 수정)하고 인쇄하는 방법이 있습니까 ?
다음 명령을 사용해 보았지만 경로와 파일을 별도의 줄로 수정했습니다.
rsync -avnc $source $destination
source/10101/10102/10103/
source/10101/10102/10103/demo.fts
참고: 소스 코드에는 수천 개의 하위 디렉터리가 있으며 절대 경로로 수정된 파일만 인쇄하고 싶습니다.
답변1
디렉터리의 타임스탬프나 사용자/그룹 설정 또는 권한이 대상 디렉터리와 다르기 때문에 디렉터리 경로를 가져오는 것입니다.
디렉터리 타임스탬프 확인을 중지하려면 rsync
다음 --omit-dir-times
플래그를 사용하세요.
rsync -avc -n --omit-dir-times "$source/" "$target"
rsync
파일 및 디렉터리의 절대 경로는 표시되지 않고 전송되는 최상위 디렉터리에 대한 상대 경로가 표시됩니다 .
--itemize-changes
(또는 -i
) 대신 --verbose
(또는 )을 사용하면 -v
다음에 대한 자세한 정보를 얻을 수 있습니다.왜대상의 파일이 업데이트되고 있습니다.
예(출력에 설명 추가):
$ rsync -ani s/ t
.d..t...... ./ # directory timestamp differs
>f+++++++++ file # new file
$ rsync -a s/ t
$ touch s/file
$ rsync -ani s/ t
>f..t...... file # file timestamp differs
$ echo hello >s/file
$ rsync -ani s/ t
>f.st...... file # file size and timestamp differs
$ rsync -acni s/ t
>fcst...... file # file size timestamp and checksum differs
$ rm s/file
$ rsync -acni s/ t
.d..t...... ./ # directory timestamp differs
$ rsync -acni --delete s/ t
*deleting file # file has been deleted in source
.d..t...... ./ # directory timestamp differs
--itemize-changes
시스템 설명서에서 이 옵션에 대한 설명서를 참조하세요 .rsync