批量更改目录中的文件名 - Shell

时间:2017-05-30 06:30:07

标签: linux shell ubuntu-14.04 counter file-rename

我试图找到一些与我需要的东西相近的东西,但最后却从很多问题中得到了许多问题,显然,我的代码并不起作用。

我自己从未编程任何东西,并且在编程方面的知识接近于零。

我尝试做的是重命名我在2个不同目录中的一堆文件,以便两者中的文件具有相同的名称,没有空格字符。< / p>

例如:

  

〜/ Documents / Dir1 / 1.pdf代替:〜/ Documents / Dir1 / file A.pdf

     

〜/ Documents / Dir2 / 1.pdf代替:〜/ Documents / Dir2 / file 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))&#39;

     

mv.sh:第7行:`c = $((c + 1))&#39;

1 个答案:

答案 0 :(得分:0)

对于循环读取文件逐个使用以下代码,这将删除您的错误。     #!/斌/庆典     b4file = $ 1     C = 0

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