linux 重命名大量文件

-- 我有27 个乱码的文件,

-- 想对它们重命名,分别 01 02 03 04 ...
-- 系统是kubuntu 14. 4.
-- rename 可以实现么...

linux下重命名文件或文件夹、批量实现重命名文件方法
一、
linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.
例子:将目录A重命名为B
mv A B
例子:将/a目录移动到/b下,并重命名为c
mv /a /b/c

其实在文本模式中要重命名文件或目录的话也是很简单的,我们只需要使用mv命令就可以了,比如说我们要将一个名为abc的文件重命名为1234就可以这样来写:mv abc 1234,但是要注意的是,如果当前目录下也有个1234的文件的话,我们的这个文件是会将它覆盖的。
二、
Linux批量重命名文件会涉及到改变一个字母、改变一些相连字母、改变某些位置的字母、在最前面加上某些字母、或者改变字母的大小写。完成这里五个方法基本上就会解决了Linux批量重
命名的工作。
1、我想把它们的名字的第一个1个字母变为"q",其它的不变
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^./q/'`; done
或者写个脚本,显得更加清晰:
for file in `ls`
do
newfile =`echo $i | sed 's/^./q/'`
 mv $file $newfile
done
2、修改前面5个字母为zhaozh
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done
3、修改后面5个字母为snail
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/snail/'`; done
4、在前面添加 _hoho_
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo "_hoho_"$i`; done
5、所有的小写字母变大写字母
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done
上面是五中完成有关Linux批量重命名方法。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-26
i=1; for x in *; do mv $x $i.flv; let i=i+1; done
复制上面一行代码到 shell 中(是一整行,相当于一个命令),运行后当前目录中所有文件会被重命名为 1.flv, 2.flv....追问

me没有达到预期,只改了前面的部分,



追答

i=1; for x in *; do mv "$x" $i.flv; let i=i+1; done
修改了下。注意得一行都复制,你开头的 i 都没复制,呵呵呵

本回答被提问者采纳
第2个回答  2014-11-06
当然可以。
其实你可以使用gprename,这带图形界面和预览。追问

具体操作步骤

追答

安装gprename,就有图形界面操作了。

第3个回答  2014-11-06
#!/bin/sh
i=1
for file in `find . -type f -name "*.flv"`;do
if (( i<=9 ));then
mv $file 0${i}.flv
else
mv $file ${i}.flv
fi
((i=${i}+1))
done追问

这是脚本吗?不会弄,没用过,直接在shell运行也没达到预期,改了前面几个。。



追答

保存成a.sh文件,运行sh a.sh

本回答被网友采纳
相似回答