Main_Directory
|
Event_Subdirectories
|
*.mcp .otherfiles
我想将所有 Event_Subdirectories 复制到 Event_subdirectory 中具有 *.mcp 文件的另一个 Main_Directory,但我不确定如何执行此操作。我使用rsync吗?
答案1
同步
使用 rsync 应该很容易做到,但并不完整。
假设./new_Main_Directory
存在,否则mkdir ./new_Main_Directory
rsync -a --include '*/' --include '*.mcp' --exclude '*' Main_Directory/ new_Main_Directory/
这将仅复制 *.mcp 文件及其所在的目录结构。您始终可以rsync
使用该选项测试命令--dry-run
。
来源:http://ubuntuforums.org/showthread.php?t=763833
CP
如果你想使用 cp,你可以尝试如下操作。
for d in ./*/; do
set -- "$d/"*.mcp
if [ -e "$1" ]; then
# there is at least one .mcp file in $d
cp -rp -- "$d" ./new_Main_Directory/
fi
done
答案2
rsync 命令并没有真正起作用,但是这个小 for 循环脚本运行得很好。它复制了一些其他随机文件,但这些文件已被删除。