私は答えを求めてウェブをくまなく調べましたが無駄でした...私は目的地でこの結果を達成しようとしています
Media_Files
Web
Print
私のソースファイルは
Media_Files
Assets
Web
Print
フォルダーを除外、削除、除去、またはフィルタリングしながら、フォルダーの使用をAssets
維持するにはどうすればよいですか? ありがとうございますWeb/Print
rsync
答え1
これを 2 つの手順で実行する必要があります。
- を除くすべてをコピーします
Media_Files/Assets
( の下に他のものがあると仮定しますMedia_Files
)。 - コピー
Media_Files/Assets/Web
。
最初のステップは
rsync -av --exclude=/Assets/ Media_Files/ destination
これにより、Madia_Files
ディレクトリが(権限やその他のメタデータを含めて)再帰的に に(冗長的に)コピーされdestination
、destination
のコピーが作成されます(ソース パスのMedia_Files
末尾を削除して、代わりに を作成します)。/
destination/Media_Files
除外パターンにより、Assets
直下のディレクトリは無視されます。Media_Files
/Assets/
2番目のステップは、
rysync -av Media_Files/Assets/Web destination
/
ソース パスの末尾にがない場合は、Web
が 内に配置されることを意味しますdestination
。
他にコピーする必要のあるMedia_Files/Assets
ファイルやディレクトリがある場合は、代わりにWeb
rsync -av Media_Files/Assets/ destination
これにより、 のすべてMedia_Files/Assets
(Web
ディレクトリとその内容を含む) が に直接コピーされますdestination
。
代わりに、次の 2 つの手順を実行することもできます。
destination
を作るちょうどのコピー(Media_Files
を含む)Media_Files/Assets
。destination/Assets
移動したいの内容を手動で移動しdestination
、 を削除しますdestination/Assets
。
要するに:
rsync -av Media_Files/ destination
mv -i destination/Assets/* destination
rmdir destination/Assets
destination/Assets
最後の 2 つのコマンドは、保持したいの内容(例destination/Assets/Web
) のみを移動し、残りを削除するように変更されます (ここでは、表示されているすべてのファイルとディレクトリを移動し、サブディレクトリが完全に空になると想定していますAssets
)。
答え2
結果を得るには次のコマンドを使用します
rsync -azvP メディアファイル/アセット/Web メディアファイル/