Когда я делаю
ack -G "^.*$" "foo"
Я получаю результаты... но когда я ставлю
-G "^.*$"
or
-G="^.*$"
or
-G
"^.*$"
в моем `~/.ackrc/ я не получаю результатов... Кто-нибудь знает, можно ли использовать -G в ackrc?
Когда я делаю
ack -G "^.*$" "foo"
Я получаю результаты... но когда я ставлю
-G "^.*$"
or
-G="^.*$"
or
-G
"^.*$"
в моем `~/.ackrc/ я не получаю результатов... Кто-нибудь знает, можно ли использовать -G в ackrc?
Это проблема цитирования. При выполнении в командной строке:
$ ack -G="^.*$"
ack фактически видит следующую опцию командной строки (после обработки кавычек оболочкой)
-G=^.*$
без кавычек. Поскольку файл ~/.ackrc
читается без обработки кавычек оболочки, поместите приведенную выше строку без кавычек в ~/.ackrc
.
Обновление: это только половина дела. Похоже, вам нужно использовать следующую строку в ~/.ackrc
:
-G^.*$
Я не совсем уверен, почему =
там не разрешено, но включение его делает его частью шаблона, что, очевидно, не то, что вам нужно.
-G=^.*$
как единственная строка в ~/.ackrc
, я все равно не получаю результатов...
- person Aaron Gibralter; 25.03.2011
-a
?
- person Greg Hewgill; 25.03.2011
--ignore-dir
vendor
, но не app/javascripts/vendor
...
- person Aaron Gibralter; 25.03.2011
-G^(?!vendor|log|tmp|doc|coverage|public/app).*$
чтобы иметь более тонкий контроль над тем, как каталоги игнорируются.
- person Aaron Gibralter; 25.03.2011
Вы могли бы использовать псевдоним ack для ack -G ?
--noenv
, не так ли? Работают ли другие параметры при размещении в~/.ackrc
? - person Greg Hewgill   schedule 25.03.2011~/.ackrc
, кроме-G="^.*$"
, и запустилack "foo"
из командной строки. Ничего не появилось... но затем, когда я удаляю строку из~/.ackrc
, я получаю результаты для foo. - person Aaron Gibralter   schedule 25.03.2011