将子目录从1个目录复制到另一个目录

时间:2015-01-21 21:20:34

标签: linux shell ubuntu terminal server

我需要将一个目录的内容复制到另一个目录。 我只需要复制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

我怎样才能实现这样的目标? 谢谢

1 个答案:

答案 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修剪之前就开始运行,你仍应该赶上。