我想打印一個文件的內容開始一個特定的行號,直到第一次出現的模式,並立即停止搜索&打印。我試過這個:從行號打印文件的子集到使用sed的正則表達式的第一個匹配
sed -n '2,/{p; :loop n; p; /pattern/q; b loop}'
但沒有成功。這怎麼能實現? 感謝您的幫助。
我想打印一個文件的內容開始一個特定的行號,直到第一次出現的模式,並立即停止搜索&打印。我試過這個:從行號打印文件的子集到使用sed的正則表達式的第一個匹配
sed -n '2,/{p; :loop n; p; /pattern/q; b loop}'
但沒有成功。這怎麼能實現? 感謝您的幫助。
隨着GNU sed的:停止線後,方含模式:
sed -n '2,/pattern/{p;/pattern/q;} file
您可以使用sed
:
sed -n '2,/pattern/p' file
還是這個awk命令:
awk 'NR==2{p=1} p; /pattern/{exit}' file
這可能會實現爲你(GNU sed):
sed '2,/pattern/!d;//q' file