这是我的单行:
sed -n '/BEGIN/,/END/{$d;1d;p}' query
并查询:
trash BEGIN first labas END nieko nėra BEGIN second iki END nesimato
我期待这个结果:
labas iki
然而,我明白了:
BEGIN first labas END BEGIN second iki END
我对sed上下文有什么误解?不应该{$d,1d;p}
删除匹配输入的第一行和最后一行吗?
答案 0 :(得分:1)
不,它会删除作为文件第一行或最后一行的匹配输入的任何行。如果删除query
的前两行(以便第一行是“BEGIN”),则可以看到效果。
答案 1 :(得分:1)
这可能对您有用:
sed -n '/BEGIN/,/END/{//!p}' file
labas
iki