linux下,批量改名
for files in `ls *.`
do
mv $files `echo "$filests" `
done
上面的自己可以想出来,下面的呢?还没有考证过
1. find ./ -name xxx -exec mv {} {}.xx \
这个是最简单的了,但是有一点不好的是只能在后面加个后缀
2.find ./ -name xxx | xargs -I mv {} {}.xx
一样的道理
3.find ./ -name XXX | awk ''{printf("mv %s \t %s \n",$1,$1)}'' |sh
awk 里面可以自由发挥 单纯的对文件名处理来说 还不是awk的强项
4.那就来sed吧
find ./ -name xxx | sed ''s/XXX/mv xxx xxxxx/'' |sh
效率 注意效率!
创建进程的消耗是很大的,所以能用xargs的时候就不要用 |sh
ls -1|sed ''s/.old$//''|xargs -I {} mv {}.old {}
阅读(4309) | 评论(0) | 转发(0) |