其实说白了就是利用sed,但怎么个用法,确实是有点想法,毕竟sed的功能实在太强了。
单一文件重命名就太简单了,mv一下就全来了。批量怎么办?
OK,一句话:
XML/HTML代码
- for i in `ls`; do mv -f $i `echo $i | sed 's/????/?????/'`; done
看到没。其实就是一个for in,然后 mv 一下。只是mv的蚨,用sed进行了改名,用上了管道,echo 等。
接着来:
1、改文件的首字母为a:
如果是前两个字母,就是^..
- for i in `ls`; do mv -f $i `echo $i | sed 's/^./a/'`; done
2、改文件的末字母为a
如果是后几个字母就是..$
- for i in `ls`; do mv -f $i `echo $i | sed 's/.$/a/'`; done
3、文件名加前缀:
XML/HTML代码
- for i in `ls`; do mv -f $i `echo "prefix_"$i`; done
4、文件名小写变大写
XML/HTML代码
- for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done
顾名思议,大写变小写就是将A-Z和a-z换一个位置
5、改指定字符为其他(如后缀名)
XML/HTML代码
- for i in `ls`; do mv -f $i `echo $i | sed 's/.html/.php/'`; done
更多技巧,请参考sed的用法