2017-05-30 23 views
0

我试图找到一些与我需要的内容相近的东西,但最终得到了许多问题的代码片断,显然,我的代码不起作用。批量更改目录中的文件名 - Shell

我从来没有编写过任何程序,并且在编程方面的知识也接近零。

我想要做的是重新命名我在2个不同的目录中的一堆文件,以便两个文件都具有相同的名称,没有空格字符

例如:

〜/文档/ Dir1中/次数1.pdf代替:〜/文档/ Dir1中/文件A.pdf

〜/文档/ Dir2中/次数1.pdf代替:〜/文档/方向2 /文件A.pdf

这是我的能力范围:

#!/bin/bash 

b4file=$1 
c=0 

for i in $b4file do 
    c=$((c+1)) 
    pref=$(printf "%03d" $c) 
    mv "$i" "${pref}|$i" 
done 

ŧ他的错误,我得到的是

mv.sh:行7:附近意外的标记语法错误`C = $((C + 1))”

mv.sh:7号线:`C = $ ((c + 1))'

回答

0

For循环读取文件一个接一个,所以使用下面的代码,这将消除您的错误。 #!/斌/庆典 b4file = $ 1 C = 0

for i in $b4file/* do 
    c=$((c+1)) 
    pref=$(printf "%03d" $c) 
    mv "$i" "${pref}|$i" 
done