我正在尝试创建一个验证文件的 bash 脚本。其中一项要求是文件中必须有一个“2”。
这是我目前的代码:
regex1="[0-9b]*2[0-9b]*2[0-9b]*"
# This regex will match if there are at least two 2's in the file
if [[ ( $(cat "$file") =~ $regex1 ) ]]; then
# stuff to do when there's more than 1 "2"
fi
#...
regex2="^[013456789b]*$"
# This regex will match if there are at least no 2's in the file
if [[ ( $(cat "$file") =~ $regex2 ) ]]; then
# stuff to do when there are no 2's
fi
我想要做的是匹配以下部分:
654654654654
254654845845
845462888888
(因为里面有2个2,应该是匹配的)
987886546548
546546546848
654684546548
(因为里面没有2,所以应该匹配)
知道如何让它使用=~
运算符搜索所有行吗?