使用rename命令批量重命名文件
先看这个例子,将所有.nc文件中的x1替换成x2
rename -n 's/x1/x2/' *.nc # confirm the files you need to rename
rename -v 's/x1/x2/' *.nc # execute renaming
-n:打印效果但不执行
-v:执行修改并打印结果
s:替换
x1:原文件中需要被替换的字符
x2:用来替换的字符
其他例子
去掉文件后缀名(比如去掉.bak)
rename 's/\.bak$//' *.bak
将文件名改为小写
rename 'y/A-Z/a-z/' *
去掉文件名的空格
rename 's/[ ]+//g' *
文件开头加入字符串(比如x1)
rename 's/^/x1/' *
文件末尾加入字符串(比如x1)
rename 's/$/x1/' *
如果原本的文件名就是乱的毫无规律,那么直接写个shell脚本来重命名,贴上代码:
#!/bin/bash
let i=1 # define an incremental variable
path=/ # add your file path here
cd ${path}
mkdir bak # make a backup directory
for file in *.jpg # *.jpg means all jpg files in current directory
do
cp ${file} bak
mv ${file} ${i}.jpg
echo "${file} renamed as ${i}.jpg"
let i=i+1
done
保存为rename.sh,终端里执行./rename.sh