ゲーム前後のGrep

ゲーム前後のGrep

「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 KLookbehindアサーションを使用して、より短い代替方法で一致開始(ept)をリセットします。
パールモンスは周りを見回した。そして正規表現で\ Kをサポート
[^"]+ "(1回以上(最大一致))を除くすべての文字

おすすめ記事