使用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