问题描述
我在书中看到这样的写法
uptime|sed -n ’/,/s/,/ /gp’
我可以理解这样的写法 sed ’s/,/ /gp’,但上面的就看不懂了
问题解答
回答1:s命令前面是确定查找那些行。 问题中/,/是个正则表达式,表示只要该行中有逗号,那么就执行s命令。 如果你写成1,2s表示只对第一行和第二行执行s命令;
s命令后面是命令内容: /将要被替换的内容/替换成的内容/, 对应问题中 s/,/ /;
综上,找出带有逗号的行,执行匹配:如果匹配到了逗号,就把逗号替换成空格。 至于gp就不做过多解释,相信你懂。
回答2:匹配带有,的行, 并且将,全部替换成空格