我需要将一个目录的内容复制到另一个目录。 我只需要复制1个子文件夹。 例如;如果我有一个名为“来自”的文件夹,并希望复制其中一个子文件夹(包含其中的所有内容),则称为“ 21-01-2015 ”到文件夹“到”
+ from
- 21-01-2015 (**this name changes all the time**)
- month (**this stays always the same**)
我目前正在使用此命令:cp -a /path/from /path/to
但此命令会复制文件夹“来自”以及其中的所有内容......
所以当你在文件夹“到”里面时,就会出现这样的情况:
+ to
+ from
- 21-01-2015
- month
而不是我需要它的方式
+ to
- 21-01-2015
我怎样才能实现这样的目标? 谢谢
答案 0 :(得分:0)
假设您的目录始终具有该格式(至少就数字位数而言):
for dir in `ls -1 /path/from | grep -e '^\d\{2\}-\d\{2\}-\d\{4\}'`; do
cp -a /path/from/$dir /path/to
done
即使/path/from
中与模式匹配的多个目录(2位数 - 2位数 - 4位数),这也应该是容忍的。因此,即使你的cronjob错过了一天,只要它在文件夹从/path/from
修剪之前就开始运行,你仍应该赶上。