【发布时间】:2015-05-07 12:01:43
【问题描述】:
我想匹配两个模式之间的一组数据,并删除这些数据和开始/结束模式,但仅限于模式的第一次出现。
所以如果这是测试数据:
PATTERNSTART
LINE1
LINE2
LINE3
PATTERNEND
PATTERNSTART
LINE1
LINE2
LINE3
PATTERNEND
TESTLINE1
TESTLINE2
TESTLINE3
PATTERNSTART
LINE1
LINE2
LINE3
PATTERNEND
这会很高兴删除所有模式匹配和中间的行,但我只想删除第一个模式匹配和中间的行:
sed '/PATTERNSTART/,/PATTERNEND/d' testsed.txt
输出:
TESTLINE1
TESTLINE2
TESTLINE3
需要的输出:
PATTERNSTART
LINE1
LINE2
LINE3
PATTERNEND
TESTLINE1
TESTLINE2
TESTLINE3
PATTERNSTART
LINE1
LINE2
LINE3
PATTERNEND
任何 sed 想法?
【问题讨论】:
标签: sed