2

使用sed,我想打印文件的第一个匹配行。我只想要匹配线本身,没有其他线。这是一个类似的命令,将打印最后匹配的行

$ sed '/while/h; $!d; g' foo.sh
while read video

aragaer's answer的启发,这似乎做到了

$ sed '/while/q;d' foo.sh
  while sleep 1
4

2 回答 2

6
sed -n '/LINE TO MATCH/{p;q}'
  • -n 表示“不打印任何东西,除非被告知”
  • p - 打印
  • q - 停止并退出

p 和 q 都将在匹配线上触发。

于 2013-03-16T16:40:54.273 回答
3

这可能对您有用(GNU sed):

sed '/while/!d;q' file
于 2013-03-17T09:12:15.763 回答