私のファイルは次のとおりです
cat new
:
ALL ALLOFTHEM ALL1
OPS BE2A OPS1
ABE ABE ABE1
次のsedクエリは結果の最初の行を提供します
sed -n '/\([A-Z]\{1,\}\)\1/p' new
。
ALL ALLOFTHEM ALL1
OPSの文字長も1より大きいので、2行目も一致すると思います。
どんなアイデアがありますか?
ベストアンサー1
OPSの文字長も1より大きいので、2行目も一致すると思います。
それでは、2つ以上の連続した大文字の行を一致させたいですか?その場合は、以下を使用してください。
$ sed -n '/[A-Z]\{2,\}/p' new
ALL ALLOFTHEM ALL1
OPS BE2A OPS1
ABE ABE ABE1
表情がなぜこんなことないの? あなたの正規表現は次のとおりです
\([A-Z]\{1,\}\)\1
これは2つの部分に分かれています。最初のものは\([A-Z]\{1,\}\)
一致することです。またはもっと大文字。 2番目の部分は\1
前の大文字セットと一致します。つまり、一致させるには、大文字のパターンを(中間文字なしで)繰り返す必要があります。最初の行には大文字L
の後に大文字があるため、最初の行にのみ一致しますL
。この順序を含む唯一の行です。