unix:重命名批量文件 - 如何将1到4000的数字添加到4000个文件的文件名中?

时间:2013-07-31 12:13:31

标签: bash unix rename batch-processing

我有4000个文件,我需要在所有文件名的开头添加1到4000个。

例如:

file_a.CEL
file_c.CEL
file_g.CEL
file_x.CEL
...
other_file.CEL

应该成为:

1_file_a.CEL
2_file_c.CEL
3_file_g.CEL
4_file_x.CEL
...
4000_other_file.CEL

重要的是,数字后面的下划线也会被添加。文件名完全不同(文件名没有系统),它们的编号顺序也无关紧要。使用bash有一种简单的方法吗?非常感谢提前!

3 个答案:

答案 0 :(得分:2)

使用for循环和mv可以为您提供所需的效果。这不是一个特别有趣的解决方案,但它很简单。

COUNT=1
for file in ./*; do
    mv "$file" "${COUNT}_$file"
    let COUNT++
done

答案 1 :(得分:1)

i=1
for f in *; do 
   echo Renaming file \"$f\" to \"${i}_${f}\"
   mv "$f" "${i}_${n}"
   i=$((i+1))
done

答案 2 :(得分:1)

相关主题:Renaming multiple files using a Shell Script

在您的情况下,您可以执行以下操作:

n = 1
for file in *.CEL; do
   new_name=$n_$file
   n=$(($n+1))
   mv $file $new_name
done