+ -
当前位置:首页 → 问答吧 → 一行shell 将当前目录下的所有文件加后缀。

一行shell 将当前目录下的所有文件加后缀。

时间:2011-05-18

来源:互联网

有的时候我们再改code时候,要将现有的production code copy到dev文件夹改写。

通常做法是先将其命令为.old 文件。 用最简介的代码做到这一点, 我昨日看到xargs的使用的颇受启发。

$ls
aaa
bbb
ccc

我的代码 : ls | xargs -n 1  -i mv {} {}.old

不知道还有更好的方法没?我总觉得这样的问题应该比较常见,应该有更简洁的方法。 求教

作者: heart2header   发布时间: 2011-05-18

yinyuemi  的写法:  sed -i.old '' *

作者: 南极雨   发布时间: 2011-05-18

复杂点可以吗?
ls |awk '{print "mv"" "$1" "$1".old"}'|sh

作者: lys5300   发布时间: 2011-05-18

ls |awk '{system("mv "$0" "$0".old")}'

作者: shplpy   发布时间: 2011-05-18

sed -i.old '' * 这个会保留原文件

作者: shplpy   发布时间: 2011-05-18

find -name * |xargs -I {} mv {} {}.old

作者: wenxin1234114   发布时间: 2011-05-18



QUOTE:
ls |awk '{system("mv "$0" "$0".old")}'
shplpy 发表于 2011-05-18 22:47



system啥意思啊

作者: wenxin1234114   发布时间: 2011-05-18

回复 heart2header


    修改一下你的:ls | xargs -i mv {}{,.old}

作者: shplpy   发布时间: 2011-05-18

回复 lys5300


    一直不明白最后的SH是啥意思,我忘了sh scriptname和bash scriptname的区别了,悲剧

作者: wenxin1234114   发布时间: 2011-05-18

回复 wenxin1234114


    调用shell命令

作者: shplpy   发布时间: 2011-05-18