我在書中看到這樣的寫法
uptime|sed -n '/,/s/,/ /gp'
我可以理解這樣的寫法 sed 's/,/ /gp',但上面的就看不懂了
s命令前面是确定查找那些行。 问题中/,/是个正则表达式,表示只要该行中有逗号,那么就执行s命令。 如果你写成1,2s表示只對第一行和第二行執行s命令;
s
/,/
1,2s
s命令后面是命令内容: /将要被替换的内容/替换成的内容/, 对应问题中 s/,/ /;
/将要被替换的内容/替换成的内容/
s/,/ /
綜上,找出有逗號的行,執行匹配:如果匹配到了逗號,就把逗號替換成空格。 至於gp就不做過多解釋,相信你懂。
gp
匹配帶有,的行, 並且將,全部替換成空格
s
命令前面是确定查找那些行。问题中
/,/
是个正则表达式,表示只要该行中有逗号,那么就执行s命令。 如果你写成1,2s
表示只對第一行和第二行執行s命令;s
命令后面是命令内容:/将要被替换的内容/替换成的内容/
, 对应问题中s/,/ /
;綜上,找出有逗號的行,執行匹配:如果匹配到了逗號,就把逗號替換成空格。 至於
gp
就不做過多解釋,相信你懂。匹配帶有,的行, 並且將,全部替換成空格