2

我必须在我的计算机上找到所有文件,除了那些在版本控制系统(git 或 SVN)下的文件。我不仅不必查找 VCS 的元文件,还不必查找工作副本中的所有文件,因此我无法使用类似

find . -type f \! -path \*/\.svn/\*;

请帮帮我,因为我对此一无所知。
谢谢!

4

1 回答 1

1

如果当前工作目录(CWD)不是存储库,我猜git statussvn status返回非零退出代码。因为我不认为 find 可以抑制-exec我将创建的调用的输出

~/gitstatus.sh:

git status > /dev/null 2>&1
exit $?

~/svnstatus.sh:

svn status > /dev/null 2>&1
exit $?

然后通过发出以下命令来搜索文件:

find . -type f '!' '(' -execdir bash ~/gitstatus.sh ';' -or -execdir bash ~/gitstatus.sh ';' ')'
于 2012-09-21T21:05:44.090 回答