これマニュアルページgrep
読む
-i
、--ignore-case
2つの間の大文字と小文字の違いを無視してください模様と入力ファイル。 (
-i
POSIXによって指定されます。 )
ただし、ファイル名の大文字と小文字を変更しても機能しません。
$ touch WHATEVER
$ grep -i pattern whatever
grep: whatever: No such file or directory
私は何を逃したことがありませんか?
ベストアンサー1
この混乱した作品は、最新バージョンのGNU grepで次のように変更されました。
-i
、-ignore-case
大文字と小文字が異なる文字が互いに一致するように、大文字と小文字の違いを無視します。
このコミットを参照してください。http://git.savannah.gnu.org/cgit/grep.git/commit/?id=e1ca01be48cb64e5eaa6b5b29910e7eea1719f91
.BR \-i ", " \-\^\-ignore\-case
-Ignore case distinctions in both the
-.I PATTERN
-and the input files.
+Ignore case distinctions, so that characters that differ only in case
+match each other.
たとえば、以前の式がどこから来たかについて、一部のプログラムには、パターンにless(1)
大文字を使用すると、特定の検索に対して大文字と小文字を区別する(フラグオーバーライド-i
)機能を持つ(バグ)機能があります。この文書の作品の作成者は、おそらく多くの人がこのような振る舞いを期待し、直接警告を発行するのではなく、非公式の文を好んだと思ったでしょう。 FWIW、これらの機能はed(1)
、、grep(1)
など、vi(1)
またはperl(1)
APIregex(3)
の一部ではありませんでしたpcre(3)
。
emacs
[1] これはデフォルト値であるという事実に由来するようです。 (カスタマイズ可能な)search-upper-case
変数をnil
。