0

我有一个 Emacs 函数(fgf "thing"),它创建一个如下所示的子进程:

find .  \( -type f -a \! -regex '\.(svn|git)' \) -print0 | xargs -0 grep -nH -e 'thing'

基本上我不想grep任何.gitor.svn文件。我怎样才能做到这一点?

4

1 回答 1

3
find . -type d '(' -name .svn -o -name .git ')' -prune -o -type f -exec grep -nH -e 'thing' {} +

使用-prune避免递归到.svn.git目录比使用正则表达式更好。也-exec更可取-print0 | xargs -0

于 2013-04-08T15:50:41.413 回答