GNU grep - включить чувствительность к регистру расширения файла - PullRequest
0 голосов
/ 17 мая 2018

Я в Windows 10, использую GNU grep 2.10.

Обновление: На вопрос дан ответ, но теперь я понимаю, что предпосылка этого вопроса неверна, потому что получаетсяДолжно быть, у меня была опечатка, которую я не видел даже после многократного перечитывания команд.Нет ничего плохого в grep, включенном в nuwen.net.Спасибо Стефан Т. Лававей.Я буду продолжать этот ответ, потому что он все же научил меня чему-то, что предыдущий вопрос (ссылка ниже) не сделал.

Оригинальный вопрос следующим образом:

Как объяснено в этот вопрос , несколько операторов --include могут использоваться для поиска по нескольким расширениям файлов.

Однако у меня возникла проблема, когда у меня несколько расширений файлов, которые отличаются только заглавными буквами.

grep -ri "foo" --include="*.h" --include="*.H" .

Приведенная выше команда будет выполнять поиск только по файлам .h, а не по файлам .H.

grep -ri "foo" --include="*.H" --include="*.h" .

Приведенная выше команда теперь будет выполнять поиск только по файлам .H, но не по файлам .h.

Очевидно, что он обрабатывает только первый аргумент --include, потому что считает второй дубликатом, но затем не ищет и .H, и .h.

Мой вопрос: Как мне заставить GNU grep на Windows искать оба (и только оба) расширения файла?

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете попробовать

grep -ri "foo" --include="*.[Hh]"

, который должен искать как файлы, заканчивающиеся на H, так и файлы, заканчивающиеся на h.Страница справочника для grep говорит

Шаблон может использовать *, ? и [ ... ] в качестве подстановочных знаков, и \ для буквального цитирования подстановочного знака или символа обратной косой черты.

...