0
这里是我的一行:操纵SED方面
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}
删除匹配输入的第一行和最后一行?
的确是它的工作原理,但并不有助于解释为什么我的版本不..谢谢。你能给我一个指针吗?这两个斜线对于大括号中的上下文究竟做了什么? – 2012-03-01 00:52:51
只有当文件的第一行和最后一行之间有'/ BEGIN /,/ END /'范围时,您的版本才能正常工作。 '//'是最后一个匹配正则表达式的缩写,在本例中是'/ BEGIN /',后面是'/ END /'。在这些条件下,它不会打印出来,但会在它们之间的线上。 – potong 2012-03-01 01:09:08