このパターンでは大文字と小文字grep
を区別して検索できません
$ grep 'T[A-Z]' test.txt
The Quick Brown Fox Jumps Over The Lazy Dog
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
このパターンでは大文字と小文字grep
を区別して検索できません
$ grep 'T[A-Z]' test.txt
The Quick Brown Fox Jumps Over The Lazy Dog
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
引用符を使用して、パターンがシェルによってファイルシステム内のファイルにグロブとして一致するのを防ぎます。''
名前付き文字クラスを使用して、大文字と小文字を区別した一致を保証します。[[:lower:]]
数量子を使用して、複数の文字を一致させます。\+
アンカーを使用して、一致が適切に配置されていることを確認します。^
grep '^T[[:upper:]]\+' test.txt
機能しない理由[A-Z]
は、使用しているロケールがシステムに実装されている方法であり、そのパターンには小文字も含まれているためです。
LANG 値を設定できます。
$ LANG=C grep 'T[A-Z]' test.txt
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
grep 'T[[:upper:]]' test.txt
grep 'T[ABCDEFGHIJKLMNOPQRSTUVWXYZ]' test.txt