最初の文字位置に名前を持つファイルがあります。すべての名前を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}'