grepは大文字を探します

grepは大文字を探します

大文字でマークされた単語を含むステートメントを含むファイルがあります。たとえば、次のようになります。

public final Foo BAR;

これらの記述はすべて均一ではありません。一行で大文字を含む単語だけを見つける方法はありますか?私は大文字を含む行を見つける方法を知っていますが、それは私が望むものではありません。大文字に一致する単語のみが必要です。ありがとうございます!

ベストアンサー1

実際に-oスイッチを使用すると、GNUはgrep一致するものだけを返します。どうですか?

grep -oP "\w*[A-Z]+\w*" yourfile.txt

この正規表現は大文字を含む単語と一致します。どこかにその中でも必ずしも始まりではありません。異なる場合は、ニーズに合わせて調整する必要があります。

以下で説明するように、これは最も移植性の高い解決策ではないかもしれません。 Perlの移植可能な選択肢は次のとおりです。

perl -nE 'say $1  while /(\w*[A-Z]+\w*)/g' yourfile.txt

おすすめ記事