「system path」以降から「type=」以前まですべてをgrepしたいと思います。 grep "system path" は "system path" 以降のすべての内容を印刷します。
単に行からgrepが欲しい - system path="file/aww/ld/lslmux
<system path="file/aww/ld/lslmux" type="FILE" reason="filelist" action="NEW" status="COMPLETED"
<system path="file/aww/ld/lslmux/systemfile.xml" type="FILE" reason="filelist" action="NEW" status="COMPLETED"
<system path="file/aww/ld/lslmux/systemfiletest.page" type="FILE" reason="filelist" action="NEW" status="COMPLETED"
ベストアンサー1
GNUの使用grep
:
$ grep -oP '<system path="\K[^"]+' file
file/aww/ld/lslmux
file/aww/ld/lslmux/systemfile.xml
file/aww/ld/lslmux/systemfiletest.page
そしてPerl
:
$ perl -nE 'say for /<system path="\K([^"]+)/g' file
正規表現の一致は次のとおりです。
節 | 説明する |
---|---|
\K |
K Lookbehindアサーションを使用して、より短い代替方法で一致開始(ept)をリセットします。パールモンスは周りを見回した。そして正規表現で\ Kをサポート |
[^"]+ |
" (1回以上(最大一致))を除くすべての文字 |