awk sed

文件a.txt如下
<body>
  
hello
.......
</body>

我想把hello替换成 hi, hello不是固定的 <body>是固定的 ,也就是说我想把<body>行下的第一个非空行替换成hi,该怎么做啊?

作者: lzx4456   发布时间: 2011-06-16

  1. sed '/<body>/{:a;N;s/hello/hi/;t;ba}'
复制代码

作者: liion631818   发布时间: 2011-06-16

回复 liion631818


    不好意思,我刚开始学,对写的不是太明白。看起来像是针对hello替换的吧

作者: lzx4456   发布时间: 2011-06-16

回复 lzx4456
  1. sed '/body/{:a;n;s/.\+/hi/;t;ba};'
复制代码

作者: liion631818   发布时间: 2011-06-16

sed  '/<body>/{:la;n;/^$/bla;s/.*/hi/}'

作者: greysky-zfj   发布时间: 2011-06-16