bash批量修改文件名称的方法小结(增加,去除,修改后缀)
一、加后缀
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' `
二、改后缀(.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/' `
三、去后缀 (*.dat => *)
复制代码 代码如下:
1. mv $files `echo $files |sed 's/\.dat//' `
2. mv $files `echo $files|tr .dat (4空格)`
四、改前缀 (re* => un*)
复制代码 代码如下:
1. mv $files un${$files#re}
2. mv $files `echo $files | tr re un`
下一篇:一个用了统计CPU 内存 硬盘 使用率的shell脚本