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