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

Copy sub-directory from 1 directory to another

我需要将一个目录的内容复制到另一个目录。 我只需要复制 1 个子文件夹。 例如;如果我有一个名为“from”的文件夹,并且想复制其中一个名为“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 但此命令会复制文件夹“from”及其中的所有内容...

所以当你在文件夹“to”里面时,它会变成这样:

+ to
    + from
        - 21-01-2015
        - month

而不是我需要它的方式是

+ to
    - 21-01-2015

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

假设您的目录将始终采用该格式(至少就位数而言):

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 被 p运行 编辑之前到达 运行,您仍然应该赶上。