Я ищу в приложении Ruby on Rails слово, используемое grep
в OSX, и я хотел бы исключить каталоги, которые соответствуют определенному шаблону.
Я использую следующую команду:
grep -inRw -E 'direct' . --exclude-dir -E 'git|log|asset'
Эта команда не делает то, что я думал, что будет делать. Вот как я думал, что это будет работать:
- i - поиск без учета регистра
- n - вывести номер строки, в которой найден шаблон
- R - поиск рекурсивно
- w - я хочу только целые слова - то есть сопоставлять "direct", но не "directory"
- -E - использовать расширенное регулярное выражение
- 'direct' - регулярное выражение, которое я хочу сопоставить
- , - поиск в текущем каталоге
- --exclude-dir -E 'git | log | asset' - исключить каталоги, которые соответствуют git, log или asset.
Что касается каталогов exclude, команда все равно завершает поиск в каталогах «./git» и «./log» , а также в «./app/assets».
Мне явно не хватает фундаментальных знаний, но я не знаю, что это такое.