承蒙CU各位大侠关照,现将自己搜集整理的文件批量改名方法总结如下,有原创也有引用,引用恕不一一注明。学习研究中经常碰到批量文件改名问题,所以下决心一劳永逸地解决了这个问题,不正之处请方家指正,欢迎评点、补充,谢谢! A 加后缀 1.问题:同以目录下有海量以日期命名的文件,其中有的有后缀,有的以点结尾,如20020101.,20020102.,……,20020101.td,20020102.td…… 要求: 把所有以点结尾的加上后缀.ts 我的方法: #!/bin/bash for files in `ls *.` do mv $files `echo "$filests" ` done 2. 同上 mv $files ${files}ts 3. 同上 mv $files `$files.ts|sed 's/\.//' ` 4. file =>file.txt mv $files $files.txt 5. *.04 => *04.txt mv $files $(echo ${files}.txt|sed 's/\.//1') 或者 mv $files `echo ${files}.txt|sed 's/\.//1' ` B 改后缀(.old => .new) 1. rename rename .old .new * 2. mv $files ${file%.old}.new 3. mv $files `echo $files|tr .old .new` 4. mv $files `echo $files|sed 's/\.old/\.new/' ` C 去后缀 (*.dat => *) 1. mv $files `echo $files |sed 's/\.dat//' ` 2. mv $files `echo $files|tr .dat (4空格)` D 改前缀 (re* => un*) 1. mv $files un${$files#re} 2. mv $files `echo $files | tr re un 参考:http://bbs.chinaunix.net/thread-554405-1-1.html |