Nếu cây thư mục không chỉ đơn thuần là ..../f03
bạn có thể sử dụng rsync
lệnh này để sao chép mọi fo1
& fo2
và loại trừ mọi thư mục khác có tên fo*
.
$ rsync -avz --include='fo[12]/' --exclude='fo*/' \
Main_Dir/ new_Main_Dir/.
Khi xử lý các loại kịch bản sao chép này, tôi luôn sử dụng rsync
và nó --dry-run
& --verbose
chuyển đổi để tôi có thể thấy những gì nó sẽ làm mà không thực sự phải sao chép các tệp.
$ rsync -avz --dry-run --verbose --include='fo[12]/' --exclude='fo*/' \
Main_Dir/ new_Main_Dir/.
Thí dụ
Chạy khô.
$ 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)
Nếu bạn muốn xem một số rsync
logic bên trong về những gì đang được bao gồm / loại trừ thì hãy sử dụng công --verbose
tắc.
$ 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)
Nếu bạn cần loại trừ các dạng thư mục khác, bạn có thể thêm nhiều loại trừ.