我必须在我的计算机上找到所有文件,但版本控制系统(git或SVN)下的文件除外。我不仅要找到VCS的元文件,还要查找工作副本中的所有文件,所以我不能使用像
这样的东西 find . -type f \! -path \*/\.svn/\*;
请帮帮我,因为我对此一无所知 谢谢!
答案 0 :(得分:1)
如果当前工作目录(CWD)不是存储库,我猜git status
和svn 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 ';' ')'