- 论坛徽章:
- 2
|
本帖最后由 weichanghe2000 于 2012-08-30 09:38 编辑
回复 4# rdcwayx
为什么要指定3种方法,是因为 我查阅了一个帖子 用了 4种方法,但是我这4种方法,我都执行过了,没有一种对的。所以 我想要得到正确的写法。
原来的方法如下:
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 {}
版主您好,你那种写法架构,我昨天试过了,总是出错,能否给出完整的命令? |
|