使用sed
,我想打印文件的第一个匹配行。我只想匹配线本身,没有其他线。这是一个类似的命令,将打印的最后匹配行打印第一个匹配行
$ sed '/while/h; $!d; g' foo.sh
while read video
通过aragaer’s answer的启发,这似乎做
$ sed '/while/q;d' foo.sh
while sleep 1
使用sed
,我想打印文件的第一个匹配行。我只想匹配线本身,没有其他线。这是一个类似的命令,将打印的最后匹配行打印第一个匹配行
$ sed '/while/h; $!d; g' foo.sh
while read video
通过aragaer’s answer的启发,这似乎做
$ sed '/while/q;d' foo.sh
while sleep 1
这可能为你工作(GNU SED):
sed '/while/!d;q' file
sed -n '/LINE TO MATCH/{p;q}'
p和q都会在匹配行上触发。
我的shell需要{p; q;} – suspectus 2013-03-16 16:44:33
为什么不能简单地用grep和头? – 2013-03-16 16:37:37
为什么不只是'grep'? – 2013-03-16 16:37:44
'grep -m1 while foo.sh' – 2013-03-16 18:37:07