SED - 3つの「x」記号を含む行を表示します。

SED - 3つの「x」記号を含む行を表示します。

タイトルにあるタスクについて質問があります。 SEDでは、3つの「x」記号を含む行を表示する必要があります。

1つのフラグで実行する方法を知っていますが、3つのフラグに対して機能するコマンドを作成することはできません。

入力例:

   blaxblax 
   xxox
   xxx23
   0x1a
   xxxx

出力:

   xxox
   xxx23

ベストアンサー1

ここでやるべきことは、一致する正規表現を作成することです。

  • 行の先頭から始まり(0個以上の「x」以外の文字と「x」が続きます)3回
  • 行が終わるまで、「x」以外の文字が0個以上出てきます。

sedを使用すると作成できます(GNU sedを想定)

sed -rn '/^([^x]*x){3}[^x]*$/p'

おすすめ記事