次のディレクトリ構造があります。
Main_Dir
|
-----------------------------------
Subdir1 Subdir2 Subdir3
| | |
--------- --------- ---------
| | | | | | | | |
fo1 fo2 f03 fo1 fo2 f03 fo1 fo2 f03
Subdir1
すべてのサブディレクトリ(、、、Subdir2
)Subdir3
を新しいフォルダにコピーしたいと思います。しかし、新しい場所fo1
にコピーしたいです。fo2
どうすればいいのかわかりません。
ベストアンサー1
ディレクトリツリーが単純なディレクトリツリー以上の場合は、..../f03
このコマンドを使用して各&をrsync
コピーし、名前付きの他のすべてのディレクトリを除外できます。fo1
fo2
fo*
$ rsync -avz --include='fo[12]/' --exclude='fo*/' \
Main_Dir/ new_Main_Dir/.
このタイプのコピーシナリオを処理するときは、実際にファイルをコピーせずにどのようなことを行うのかを確認できるように、常にスイッチrsync
を--dry-run
使用してください。--verbose
$ rsync -avz --dry-run --verbose --include='fo[12]/' --exclude='fo*/' \
Main_Dir/ new_Main_Dir/.
はい
試運転。
$ rsync -avz --dry-run --include='fo[12]/' --exclude='fo*/' \
Main_Dir/ new_Main_Dir/.
sending incremental file list
./
Subdir1/
Subdir1/fo1/
Subdir1/fo2/
Subdir2/
Subdir2/fo1/
Subdir2/fo2/
Subdir3/
Subdir3/fo1/
Subdir3/fo2/
sent 201 bytes received 51 bytes 504.00 bytes/sec
total size is 0 speedup is 0.00 (DRY RUN)
何が含まれているか除外されるかについての内部ロジックを表示するには、rsync
このスイッチを使用します--verbose
。
$ rsync -avz --dry-run --verbose --include='fo[12]/' --exclude='fo*/' \
Main_Dir/ new_Main_Dir/.
sending incremental file list
[sender] showing directory Subdir1/fo2 because of pattern fo[12]/
[sender] showing directory Subdir1/fo1 because of pattern fo[12]/
[sender] hiding directory Subdir1/fo3 because of pattern fo*/
[sender] showing directory Subdir2/fo2 because of pattern fo[12]/
[sender] showing directory Subdir2/fo1 because of pattern fo[12]/
[sender] hiding directory Subdir2/fo3 because of pattern fo*/
[sender] showing directory Subdir3/fo2 because of pattern fo[12]/
[sender] showing directory Subdir3/fo1 because of pattern fo[12]/
[sender] hiding directory Subdir3/fo3 because of pattern fo*/
delta-transmission disabled for local transfer or --whole-file
./
Subdir1/
Subdir1/fo1/
Subdir1/fo2/
Subdir2/
Subdir2/fo1/
Subdir2/fo2/
Subdir3/
Subdir3/fo1/
Subdir3/fo2/
total: matches=0 hash_hits=0 false_alarms=0 data=0
sent 201 bytes received 51 bytes 504.00 bytes/sec
total size is 0 speedup is 0.00 (DRY RUN)
別の形式のディレクトリを除外する必要がある場合は、複数の除外を追加できます。