テキストファイル内の事前定義されたタグ間の行の一部を印刷します。

テキストファイル内の事前定義されたタグ間の行の一部を印刷します。

以下のファイルがあります

<g> Good wheatear </g> other parts of line 
<g> The farm land is to be sold </g> other parts of line
<g> knock knock </g> other parts of line 

私の出力は次のようになりたいです。

<g> Good wheatear </g> 
<g> The farm land is to be sold </g>
<g> knock knock </g>

つまり、<g>と</g>タグの間の内容を印刷します(タグを含む)。

私は次のコマンドを試しました。

awk '/<s>/, /<\/s>/' trsTest.txt

しかし、行全体を印刷します。

タグ間でコンテンツを印刷する方法は?

ベストアンサー1

これにより、次のようawkになります。

$ awk -v FS="</?g>" '{print $2}' trsTest.txt
 Good wheatear
 The farm land is to be sold
 knock knock

またはラベルを維持したい場合:

$ awk -v FS="</g> " '{print $1 FS}' trsTest.txt
<g> Good wheatear </g>
<g> The farm land is to be sold </g>
<g> knock knock </g>

おすすめ記事