linux 文件名批量修改,全部加上某个数,怎么弄?

2025-03-23 01:26:35
推荐回答(3个)
回答1:

写个脚本 逐个修改即可

#!/bin/bash

for file in $(ls *.jpg)
do
    filename=${file%.jpg}
    count=$(echo $filename | wc -c )
    if [ $count -gt 2 ]; then
        mv $file "2${filename}.jpg"
    else
        mv $file "20${filename}.jpg"
    fi
done

回答2:

1、例如想改为数字为文件名001.jpg--999.jpg
#!/bin/sh

max=`find . -type f -name '*jpg'|wc|awk '{print $1}'`
x=(`seq -f %03g 1 ${max}`)
i=0
for file in `find . -type f -name '*.jpg'`;do
mv $file ${x[$i]}.jpg
((i=i+1))
done
2、为了将两位数字首位数字改为2
seq -f 2%02g 1 99
3、为了让1-9排到前面,你最好先mv 1.jpg 01.jpg

回答3:

网上有好多文件批量重命名的软件,下一个就可以。