应该对这里的大牛来说是个简单的问题,尽管用文本解释很困难,但希望这很清楚。我有两个目录在一个运行某种unix系统的盒子上。我有一个脚本,想用它来将一个位置的所有文件和目录移动到另一个位置。
首先,让我们看一下这些目录的样子:
目录A:final/results/2012/2012-02/2012-02-25/name/files 目录B:test/results/2012/2012-02/2012-02-24/name/files 你会看到它们非常相似。我想做的是将Directory B的2012目录中的所有内容,递归地移动到Directory A的相同级别。所以你最终会得到: someproject/results/2012/2012-02/2012-02-25/name/files someproject/results/2012/2012-02/2012-02-24/name/files 等等。
我希望这个脚本是未来可靠的,这意味着我不想硬编码2012。此外,在月底时,你可能会有来自两个不同月份的数据,并且都需要复制到2012目录中。所以,这是我在shell脚本文件中使用的命令:
但是结果却是这样的:
/final/results/2012/2012-02/2012-02-25/name/files
和
/final/results/2012/2012/2012-02/2012-02-24/name/files
可以清楚地看到,它比我想要的低一个级别。如果有人能理解我在尝试说明什么,并告诉我我的错误是什么,那就太好了。如果没有表述清楚,敬请谅解。我相信这是一个相当简单的修复问题,但我不确定该怎么做。Shell脚本编写并非我的强项。
首先,让我们看一下这些目录的样子:
目录A:final/results/2012/2012-02/2012-02-25/name/files 目录B:test/results/2012/2012-02/2012-02-24/name/files 你会看到它们非常相似。我想做的是将Directory B的2012目录中的所有内容,递归地移动到Directory A的相同级别。所以你最终会得到: someproject/results/2012/2012-02/2012-02-25/name/files someproject/results/2012/2012-02/2012-02-24/name/files 等等。
我希望这个脚本是未来可靠的,这意味着我不想硬编码2012。此外,在月底时,你可能会有来自两个不同月份的数据,并且都需要复制到2012目录中。所以,这是我在shell脚本文件中使用的命令:
CONS="/someproject";
ROOT="/test";
/bin/cp -r ${ROOT}/results/* ${CONS}/results/*
但是结果却是这样的:
/final/results/2012/2012-02/2012-02-25/name/files
和
/final/results/2012/2012/2012-02/2012-02-24/name/files
可以清楚地看到,它比我想要的低一个级别。如果有人能理解我在尝试说明什么,并告诉我我的错误是什么,那就太好了。如果没有表述清楚,敬请谅解。我相信这是一个相当简单的修复问题,但我不确定该怎么做。Shell脚本编写并非我的强项。
cp -r ${ROOT}/results ${CONS}/results
呢? - sgibb