У меня проблемы с greps в Emacs.
a) grep, похоже, не понимает. [Ch] для поиска файлов .c и .h. Это опция по умолчанию, предоставляемая Emacs командой lgrep . Пример ищет слово «global» в файлах .c / .h.
grep -i -nH "global" *.[ch]
grep: *.[ch]: No such file or directory
Grep exited abnormally with code 2 at Mon Feb 16 19:34:36
Этот формат недействителен?
б) Используя rgrep , я получаю следующую ошибку:
find . "(" -path "*/CVS" -o -path "*/.svn" -o -path "*/{arch}" -o -path "*/.hg" -o -path "*/_darcs" -o -path "*/.git" -o -path "*/.bzr" ")" -prune -o -type f "(" -iname "*.[ch]" ")" -print0 | xargs -0 -e grep -i -nH "global"
FIND: Wrong parameter format
Grep finished (matches found) at Mon Feb 16 19:37:10
Я использую Emacs 22.3.1 в Windows XP с утилитами GNU W32 (grep, find, xargs и т. Д.). Grep v2.5.3 и найти v4.2.20.
Чего мне не хватает?
UPDATE:
Жаль, что нельзя принять несколько ответов ... так как решение моих проблем разбросано.
grep -i -nH "global" *.c *.h
Это решает первую проблему. Спасибо, Луапяд!
(setq find-program "c:\\path\\to\\gnuw32\\find.exe")
emacs действительно использовал Windows find.exe. Заставить gnu32 найти исправить вторую проблему. Спасибо Скоттфразер.
Однако мне все еще нравится ack best.