Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 大容量更改目录中的文件名-Shell_Linux_Shell_Ubuntu 14.04_Counter_File Rename - Fatal编程技术网

Linux 大容量更改目录中的文件名-Shell

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

我试图找到一些接近我所需要的东西,但最终得到了许多问题的细节,很明显,我的代码不起作用

我从来没有自己编写过任何程序,而且几乎没有编程方面的知识

我想做的是重命名我在两个不同目录中的一堆文件,这样两个目录中的文件都有相同的名称,没有空格字符

例如:

~/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))”附近的语法错误

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