我正在使用下面的git命令获取最后提交的文件,
git diff --name-only --relative= --diff-filter=AMDR --cached @~
然后我得到的输出如下,
bitbucket-pipelines.yml
app-connect/source/cn/ConnectBuild.sh
现在,我要检查“ app-connect/source/cn/
路径中是否有文件,然后只有我做些事。
例如:
if git diff --name-only --relative= --diff-filter=AMDR --cached @~ | grep "/app-connect/source/cn"; then do something; fi
在这种情况下,能否请您告诉我如何使用grep或正则表达式检查给定路径中文件的存在。
答案 0 :(得分:1)
我认为git show会更简单
lines=$( git show --pretty="" --name-only -- app-connect/source/cn | wc -l )
if [ $lines -gt 0 ]; then
echo do something
fi
如果再次需要使用grep检查路径,请不要提供git的路径,不要将其输入grep,在其中设置正则表达式,然后将其输入wc
lines=$( git show --pretty="" --name-only | egrep blahblah | wc -l )