将子目录从 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运行 编辑之前到达 运行,您仍然应该赶上。
我需要将一个目录的内容复制到另一个目录。 我只需要复制 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运行 编辑之前到达 运行,您仍然应该赶上。