10

大文字のみで構成される単語である行のみをgrepする必要がある書き込みgrepに問題があります。

たとえば、私はファイルを持っています:file1.txt

Abc AAA
ADFSD
F
AAAAx

出力は次のようになります。

Abc AAA
ADFSD
F

アドバイスをありがとう。

4

7 に答える 7

13

あなたはただ使うことができます:

grep -E '\b[[:upper:]]+\b' file1.txt

つまり、大文字のみで構成される単語全体を探します。

于 2013-10-08T17:48:19.560 に答える
10

この egrep は動作するはずです:

egrep '\b[A-Z]+\b' file
于 2013-10-08T17:49:29.040 に答える
3

これにより、望ましい結果が得られます。

egrep '\b[A-Z]+\b'  file1.txt

結果は

Abc AAA
ADFSD
F
于 2013-10-08T17:46:53.743 に答える
1

GNU grep は POSIX パターンをサポートしているため、次のように簡単に実行できます。

grep -e '[[:upper:]]' file1.txt

于 2013-10-08T17:47:24.830 に答える
1

入力に非ASCII文字が含まれている場合は、\p{Lu}代わりに[A-Z]次を使用できます。

grep -P '\b\p{Lu}+\b' file

為に

LONDON 
Paris
MÜNCHEN Berlin

これは戻ります

LONDON
MÜNCHEN Berlin

おそらくこれらのほとんどを手動でリストすることができ、@Skippy-le-grand-gourou が言うように、egrep は[A-Z]アクセント記号付きの文字に拡張され\p{Lu}ますが、を使用することで、「2017 年 6 月以降、大文字の ẞすべて大文字のスタイルの代替として受け入れられます"

于 2016-11-02T08:00:08.563 に答える
0

grep '\<[AZ]*>' file1.txt

于 2013-10-08T17:58:09.023 に答える