+ -
当前位置:首页 → 问答吧 → 菜鸟问题:sed第一匹配"123"后 新开一行为“haha”。如何实现?

菜鸟问题:sed第一匹配"123"后 新开一行为“haha”。如何实现?

时间:2011-05-09

来源:互联网

菜鸟问题:sed第一匹配"123"后 新开一行为“haha”。如何实现?

作者: Reny   发布时间: 2011-05-09

菜鸟问题:sed第一次

作者: Reny   发布时间: 2011-05-09

没明白

作者: zzy7186   发布时间: 2011-05-09

回复 Reny


    这?
  1. echo "111
  2. 123
  3. 123
  4. 123
  5. 234" |sed '0,/123/{
  6. /123/a haha
  7. }'
  8. 111
  9. 123
  10. haha
  11. 123
  12. 123
  13. 234
复制代码

作者: yinyuemi   发布时间: 2011-05-09

  1. awk '/123/{if(n==0){$0=$0"\nhaha";n++}}1' urfile
复制代码

作者: Shell_HAT   发布时间: 2011-05-09



QUOTE:
回复  Reny


    这?
yinyuemi 发表于 2011-05-09 13:21




    sed -i "/123/d;0,/abc/ {/abc/a\ hahah}" 1.txt //我这个为什么不行啊

$cat 1.txt
123
abc
123
dafds
abc

作者: Reny   发布时间: 2011-05-09

回复 Reny
  1. sed -e "/123/d;0,/abc/{" -e "/abc/a hahah" -e "}"
复制代码

作者: yinyuemi   发布时间: 2011-05-09

可以了,谢谢两位,yinyuemi (SS)  Shell_HAT (折腾)
怎么结贴啊?一直都没关过贴,都不好意思

作者: Reny   发布时间: 2011-05-09

sed -n '/123/{ahaha
ba
}
p;d
:a
p;
n;
ba'

作者: cjaizss   发布时间: 2011-05-09