重命名与目录名称同名的文件

时间:2012-01-16 21:03:54

标签: bash shell scripting

我的目录结构如下

dir----|
       |
       |--dir1\ some\ thing--result.pdf
       |
       |--dir2\ some\ thing--result.pdf
       |
       |--dir3\ some\ thing--result.pdf
       |

每个子目录中的文件名是result.pdf。

目录dir1 dir2 dir3名称中有空格。 我无法理解的内容(我正在编写一个bash脚本)如何在变量中获取此目录名并重命名为result.pdf

我想重命名每个文件result.pdf,其名称与目录名.pdf

相同
   #!/bin/bash
    for i in *;do
    cd $i
    mv result.pd $i.pdf
    cd ..
    done

目录名中的空格正在产生问题。如何过来呢?

2 个答案:

答案 0 :(得分:9)

尝试引用名称:

for i in *; do
  mv "$i/result.pdf" "$i/$i.pdf";
done

答案 1 :(得分:1)

这个单线程怎么样 -

for i in *; do mv "$i/result.pdf" "$i/$i.pdf" ; done