テキストファイルでの名前のフィルタリング

テキストファイルでの名前のフィルタリング

最初の文字位置に名前を持つファイルがあります。すべての名前をgrepする方法を見つけようとしています。ここの例では、BUBBAとSUSANという名前をリストしたいと思います。

BUBBA =

 (DESCRIPTION =
 (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = bubba01)(PORT = xxxx))
  )
  (CONNECT_DATA =
  (SERVICE_NAME = bubba01)
  )
 )

SUSAN =

 (DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = susan01)(PORT = xxxx))
   )
   (CONNECT_DATA =
     (SID = susandb)
   )
  )

ベストアンサー1

次のことをしたいようです。

grep -o '^[A-Z]\+'

-o行の一致部分のみが出力されることを示します。正規表現は、行の先頭にある1つ以上の大文字のシーケンスと一致します。

sed以下を使用してこれらのタスクをawk実行することもできます。perl

sed -n '/^[A-Z]\+/{s/^\([A-Z]\+\).*/\1/;p}'

おすすめ記事