У меня есть локальная копия SVN, я хочу сделать поиск по строке some_string.
$ grep some_string * -r
lang/en:some_string=Some string
lang/.svn/en:some_string=Some string
Но если пойти немного дальше, кажется, что скрытые каталоги первого уровня исключены:
$ cd lang && grep some_string * -r
en:some_string=Some string
Как я могу удалить скрытые каталоги SVN из моего вывода, а не только с первого уровня глубины?
$ grep some_string * -r --which_option_here?
lang/en:some_string=Some string
Ответы:
Используйте
--exclude-dir
опцию, например:От
man grep
:Обратите внимание, что эта
--exclude-dir
опция доступна только в GNU grep. Если вашgrep
не поддерживает его, вам может понадобиться другой инструмент, как найти, например :источник
find
версию, если ваш grep не поддерживает--exclude-dir
.--exclude-dir
, вы пробовали это?Я обычно использую это:
${e%\./}
удалит первое,./
а затемgrep
удалит все, что начинается с точки.источник
e#
, текст говоритe%