rsync --files-fromファイルにコメントを入れる方法はありますか?


10

rsyncが--files-fromとして使用するファイルがあります。

dir1
dir2
dir3

私はそのように各dirエントリの上にコメントを付けられるようにしたいです:

# my dir1 comment
dir1

#dir2 comment
dir2

#yet another comment
dir3

しかしrsyncは「そのようなファイルやディレクトリはありません」と文句を言う

これまでに#、//、-,, SPACEを試しました

エントリをコメントアウト/無効にする方法はありますか?


files-fromファイルのコメントメカニズムについては知りません。
jw013

回答:


17

man上のページによるとrsync:

"... FILEの空白行と ';'で始まる行 または「#」は無視されます... "

私は簡単なテストを実行しただけで、実際#;行は無視されます。


私は秒をすることはできません;が、#ここを、検索して、ルールがいつなのか...)。→おそらく間違いなく#少し安全です...
フランクノッケ

このrSyncのマニュアルページにはありません:linux.die.net/man/1/rsync、この他にもありません:ss64.com/bash/rsync.html。ご紹介いただけますか?
Sopalajo de Arrierez 2017

1
あなたのページは実際に#で始まる行がコメントである ことを示しています:linux.die.net/man/1/rsyncは「...ルールがファイルから読み取られている場合、空の行は無視されますa lq#rq。... "(lqとrqは左引用符と右引用符の表記です...そのWebページが引用符をこれらの略語として表示する理由がわかりません)。とにかく、rsync除外ファイルの#はコメントです。おそらく、あなたが参照している他のマニュアルページは単に古いものでしょう。ここでrsyncログ履歴を確認できます:git.samba.org/?p
rsync.git

最善の方法は、開発中のプラットフォームのマニュアルページを見て、使用しているrsyncのバージョンを確認することです。そのバージョンのrsyncによるコメントの処理方法については、manページを検索できます。
rob_7cc 2017年

10

a grep -v '^#' file > /tmp/filetmpを実行してから、rsyncを起動します/tmp/filetmp

シェルによっては、一時ファイルを回避できる場合があります(これはBashで有効です)。

rsync --files-from <(grep -v '^#' file) …

奇妙に見える<( … )構文は、Bashがプロセス置換と呼んでいるものです。


3
私はあなたのgrepにパターンを追加しました—これはあなたの意図したことだと思います... bashトリックも追加します。同意しない場合は、片方または両方の編集を元に戻してください。
derobert

あなたは使用することができ--files-from=-ているようにrsync、標準入力からリストを読み込みます。
クサラナンダ

-1

現在の状態(rsyncバージョン3.1.1プロトコルバージョン31):から始まる#または;無視されるすべての行manは、それに関する情報もありません(私の場合は異なり、名前を付けたファイルをコピーしたかったのですが;_char、使用していなかったので驚きました- -from0オプション-行を変更した後、機能./;_charし始めました)。オプションと同じ解析関数が使用されているようです--include-fromまたは--exclude-from これらの2つのオプションについてはmanページの言及: Blank lines in the file and lines starting with ’;’ or ’#’ are ignored

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.