Як grep для нечутливого до рядка рядка у файлі?


89

У мене є файл, file1який закінчується Success...АБО success...

Я хочу grepдля слова successтаким чином, що не враховує регістр.

Я написав наступну команду, але вона враховує регістр

cat file1 | grep "success\.\.\."

Як я можу змінити його так, щоб це було returns 0як з Success...АБО success...

Відповіді:


147

Ви можете використовувати -iпрапор, який робить ваш шаблон нечутливим:

grep -iF "success..." file1

Крім того, немає необхідності в cat. grepбере файл із синтаксисом grep <pattern> <file>. Я також використовував -Fпрапор для пошуку фіксованого рядка, щоб уникнути еліпсису.


3
Чи не просто grep -i success file1повертає той самий результат, як очікувалося тут?
Користувач 123

8
@ User123 Так, але -Fшукає точний рядок, не роблячи жодного синтаксичного аналізу регулярних виразів, тому часто швидше та простіше вводити текст, якщо у вас (як це було у ОП) є спеціальні символи у фразі, яку ви шукаєте
Позов до Моніки

1
Чудова відповідь новачкові - не кажіть "ну, ви робите це неправильно", скажіть "ось відповідь на ваше запитання та покращення бонусу". Молодці!
CindyH

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.