Linux 批量文件重命名常用命令

linux本身是不支持空格的,如果直接处理包含空格的文件名这很容易出错,所以我们需要对文件名进行转义,这个方法是用下划线来替补空格;当文件数量很多的时候,自然一个个修改会浪费很多时间,同时还会累个半死,下面这段代码会自动处理当前目录下的所有包含空格的文件名,简单轻松且特别高效;

linux下批量处理文件名中包含空格的问题

find . -type f -name "* *" -print |

while read name; do

na=$(echo $name | tr ' ' '_')

if [[ $name != $na ]]; then

mv "$name" $na

fi

done

将当前目录下文件依次按照1.flv 2.flv 3.flv以此类推重命名

i=1; for x in *; do   mv "$x" $i.flv;   let i=i+1; done

批量将文件名后缀由flv改为mp4

rename .flv .mp4 *.flv

将文件名开头部分AAA批量替换成BBB

rename  AAA BBB  AAA*

批量删除文件名当中指定文字(第八行是执行命令)

$ touch glyphicons_315911_linux{a..g}.png

$ ls *.png

glyphicons_315911_linuxa.png glyphicons_315911_linuxe.png

glyphicons_315911_linuxb.png glyphicons_315911_linuxf.png

glyphicons_315911_linuxc.png glyphicons_315911_linuxg.png

glyphicons_315911_linuxd.png

==================运行脚本========================

$ for i in `ls glyphicons_*.png`; do mv $i ${i##glyphicons_*_}; done

$ ls *.png

linuxa.png linuxc.png linuxe.png linuxg.png

linuxb.png linuxd.png linuxf.png

#最后删除测试文件,此命令请谨慎使用

$ rm -f *.png

批量在所有文件名开头添加AAA

for i in `ls`; do mv -f $i `echo $i | sed 's/^./AAA/'`; done

批量修改文件名前五个字符为ABCDE

for i in `ls`; do mv -f $i `echo $i | sed 's/^...../ABCDE/'`; done

批量修改文件名后五个字母为54321

for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/54321/'`; done

在所有文件名开头添加3sv.ktsee.com

for i in `ls`; do mv -f $i `echo "3sv.ktsee.com"$i`; done

文件名字母小写改成大写

for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done

[via]http://www.5yun.org/8962.html[/via]

评论

Popular Posts

一些有意思的网站和贴子

月光宝盒 - 提供网站数据备份服务

《活法》作者:[日]稻盛和夫 pdf下载

Docker下安装ubuntu使用浏览器远程办公开发

MIFARE Classic Tool - 安卓NFC门禁卡修改工具

《苍翼默示录 蔚蓝光辉》BlazBlue Continuum Shift 2D格斗大作

《玉米》著名作家毕飞宇又一最新力作[txt]

仿13580个性导航PHP版

U盾安装及检测不到U盾问题的排查方法