rsync가 --files-from으로 사용하는 파일이 있습니다.
dir1
dir2
dir3
다음과 같이 각 디렉토리 항목 위에 설명을 추가할 수 있기를 원합니다.
# my dir1 comment
dir1
#dir2 comment
dir2
#yet another comment
dir3
그러나 rsync는 "해당 파일이나 디렉터리가 없습니다"라고 불평합니다.
지금까지 #,//,--,,SPACE를 시도했습니다.
항목을 주석 처리하거나 비활성화하는 방법이 있습니까?
답변1
man
페이지 에 따르면rsync:
"...FILE에서 ';' 또는 '#'으로 시작하는 빈 줄은 무시됩니다..."
방금 간단한 테스트를 했는데 실제로 #
해당 ;
줄이 무시되었습니다.
답변2
a를 실행 grep -v '^#' file > /tmp/filetmp
하고 rsync를 시작하세요./tmp/filetmp
쉘에 따라 임시 파일을 사용하지 않을 수도 있습니다(Bash에서 작동함).
rsync --files-from <(grep -v '^#' file) …
<( … )
Bash는 이것을 이상하게 보이는 구문이라고 부릅니다.프로세스 교체.
답변3
현재 상태(rsync 버전 3.1.1 프로토콜 버전 31): #
모든 줄이 관련 정보로 시작하거나 ;
심지어 man
관련 정보도 없습니다(제 경우는 다릅니다. 이름이 지정된 파일을 복사하고 싶었지만 ;_char
-를 사용하지도 않는다는 사실에 놀랐습니다. from0 옵션 - 줄을 변경한 후 ./;_char
작업이 시작되었습니다. 옵션 --include-from
또는 --exclude-from
두 옵션 페이지 모두에 대해 man
언급된 것과 동일한 구문 분석 기능을 사용하는 것 같습니다.
Blank lines in the file and lines starting with ’;’ or ’#’ are ignored