关于在Linux中如何批量修改文件名

如何将某个目录下的文件名批量修改,比如1.txt 2.txt 3.txt 改成1.doc 2.doc 3.doc ,是批量修改,麻烦各位了。

for file in "1.txt" "2.txt" "3.txt"
do
echo $file|rename "s/\.txt/\.doc/g"
done

如果当前目录下全部的txt都要改成doc,只要
rename 's/\.txt/.doc/' *.txt
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-20
一楼说了怎么改后缀, 我只好贴一个改名字不改后缀的....

#/bin/bash
#重命名文件夹中的文件,其后缀不变.
#2009年12月1日
#
#只能批量修改一个文件夹内的文件,并且新的文件名为128-bit的16进制随机字符
#
#2009年12月12日 增加容错如果没有这个文件就不mv了

[ -z $1 ] && { echo "\$1 error"; exit 1; }

suffix=$(echo "$1"|sed 's/.*\.//g')
echo $suffix

for i in *.${suffix}
do
[ -f $i ] && { mv "$i" "$(mcookie).${suffix}";} || { echo "file error"; }
# mv "$i" "$(mcookie).${suffix}"
echo "$i"
done
第2个回答  2010-01-21
这个简单,用rename一句话就搞定了

rename .txt .doc *.txt
第3个回答  2010-01-20
这个需要脚本,你自己写一个就行
如果不会,就上网下载
相似回答