Linux 大容量更改目录中的文件名-Shell
我试图找到一些接近我所需要的东西,但最终得到了许多问题的细节,很明显,我的代码不起作用 我从来没有自己编写过任何程序,而且几乎没有编程方面的知识 我想做的是重命名我在两个不同目录中的一堆文件,这样两个目录中的文件都有相同的名称,没有空格字符 例如: ~/Documents/Dir1/1.pdf而不是:~/Documents/Dir1/file A.pdf ~/Documents/Dir2/1.pdf而不是:~/Documents/Dir2/file A.pdf 这就是我的能力范围:Linux 大容量更改目录中的文件名-Shell,linux,shell,ubuntu-14.04,counter,file-rename,Linux,Shell,Ubuntu 14.04,Counter,File Rename,我试图找到一些接近我所需要的东西,但最终得到了许多问题的细节,很明显,我的代码不起作用 我从来没有自己编写过任何程序,而且几乎没有编程方面的知识 我想做的是重命名我在两个不同目录中的一堆文件,这样两个目录中的文件都有相同的名称,没有空格字符 例如: ~/Documents/Dir1/1.pdf而不是:~/Documents/Dir1/file A.pdf ~/Documents/Dir2/1.pdf而不是:~/Documents/Dir2/file A.pdf 这就是我的能力范围: #!/bin
#!/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))'
对于逐个循环读取文件,请使用下面的代码,这将删除您的错误。 #!/bin/bash b4file=$1 c=0
for i in $b4file/* do
c=$((c+1))
pref=$(printf "%03d" $c)
mv "$i" "${pref}|$i"
done