如果我的egrep条件计数> 1匹配,我需要返回退出代码1所以我有一个文件: test.txt ,包含下一个内容:
{% url my_view %}
{% url my_view user_id %}
{% url 'my_view' %}
{% url 'my_view' user_id %}
{% url "my_view" user_id %}
{% url "my_view" %}
我有下一个包含egrep的bash脚本:
#!/bin/bash
if [ "$(grep -c "(% url+ )([0-9a-z_:]+)" test.txt)" -ge 1 ]; then
echo true
exit 1
else
echo false
exit 0
fi
因此,如果我的grep表达式有多于1个匹配,则该行假设返回true:
[ "$(grep -c "(% url+ )([0-9a-z_:]+)" test.txt)" -ge 1 ];
但我总是变得虚伪,无所谓 .
这是正则表达式工作的证据:
https://regex101.com/r/zZ9vF5/8#python
那么,如果我的正则表达式有多个匹配项,我需要更改以便检索退出代码1?
2 回答
你正确地说了"egrep condition",但你的脚本中没有
egrep
也没有grep -E
.你确定在
l
后需要+
吗?你期望urlllll
出现在输入中吗?此外,
-ge
表示>=
,使用gt
来测试>
.你应该尝试bash算术: