【发布时间】:2012-05-23 03:51:13
【问题描述】:
- 我有一个目录,里面有 4 个目录。
- 我要创建第 5 个目录 (cx1_date) 并创建 4 个与原始目录同名的空目录
- 然后我想将每个原始目录中的两个文件复制到具有各自名称的新子目录中
-
我认为我遇到了一个错误,因为它试图复制 PWD 本身(因为这显示为 find 调用的结果),所以我尝试包含一个 if 语句,但我认为它不起作用
now=$(date +"%m_%d_%Y") PWD="/nmr/charlie" mkdir $PWD/cx1_$now for name in $(find $PWD -maxdepth 1 -type d); do if [[ "$name" = "$PWD" && "$PWD" = "$name" ]]; then : else cd $PWD/cx1_$now mkdir $PWD/$name cd $PWD/$name cp file1.ext $PWD/cx1_$now/$name cp file2.ext $PWD/cx1_$now/$name fi done
错误的第一行
mkdir: 无法创建目录`/nmr/charlie/cx1_05_15_2012//nmr/charlie/cx1_05_15_2012': 没有这样的文件或目录
提前感谢您提供的任何帮助!
查理
【问题讨论】:
-
在问题中包含错误
-
您可以通过在脚本顶部附近插入
set -vx来调试您的shell 脚本。 (下面的答案旨在解决问题)。祝你好运。
标签: bash subdirectory copying