亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: sed如何刪除匹配行以及上下文 [打印本頁]

作者: oguy99    時間: 2013-08-23 10:58
標題: sed如何刪除匹配行以及上下文
本帖最后由 oguy99 于 2013-08-23 11:01 編輯

rt, 文本中假如有 storage的行, 現(xiàn)在要刪除包括匹配行以及它上面4行,下面2行,如何做?
作者: guogang225    時間: 2013-08-23 11:08
本帖最后由 guogang225 于 2013-08-23 11:25 編輯
  1. sed -nr ':a;N;$!ba;s/(.*\n).*\n.*\n.*\n.*\nstorage\n.*\n.*\n(.*)/\1\2/gp' urfile
復制代碼
or
  1. sed -nr ':a;N;$!ba;s/(.*)([^\n]*\n){5}storage\n([^\n]*\n){2}(.*)/\1\n\4/gp' urfile
復制代碼

作者: yinyuemi    時間: 2013-08-23 11:19
回復 1# oguy99
  1. seq 10 |sed -rn '0,/5/{H;/5/{g;s/^\n(.*)\n(([^\n]+\n){3}[^\n]+)$/\1/p;N;N};d};p'
  2. 1
  3. 8
  4. 9
  5. 10
復制代碼

作者: WilliBhamlll    時間: 2013-08-23 11:28
  1. [WilliBhamlll@CC ~]$ cat file
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. storage
  10. 8
  11. 9
  12. 10
  13. 11
  14. [WilliBhamlll@CC ~]$ sed -nr '1h;1!H;$!b;x;s/(.*)([^\n]+\n){4}storage\n([^\n]+\n){2}/\1/p' file
  15. 1
  16. 2
  17. 3
  18. 10
  19. 11
復制代碼

作者: oguy99    時間: 2013-08-23 11:53
回復 4# WilliBhamlll


    怎么什么輸出都沒有??
作者: WilliBhamlll    時間: 2013-08-23 12:03
回復 5# oguy99


    可能你的文本跟我的測試文件不一樣。能貼一下你的文件嗎?
作者: WilliBhamlll    時間: 2013-08-23 12:11
本帖最后由 WilliBhamlll 于 2013-08-23 12:20 編輯

回復 5# oguy99


    改成這樣再試試:
  1. sed -nr '1h;1!H;$!b;x;s/(.*)([^\n]+\n){4}.*storage[^\n]*\n([^\n]+\n){2}/\1/p' file
復制代碼





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2