匹配不包含指定中文字符的行

上一篇利用正则表达式匹配不包含某些指定字符的只是动动脑机,回忆一下正则表达式, 但是遇到了中文,一来编码问题不方便, 二来容易考虑问题有漏洞。 如果我们想实现匹配不包含某些字符串的功能, 还是用shell脚本比较安全。

如下面这段代码实现匹配所有不含“登录”和“注册”的行。其中, “=~”表示包含。

str="登录|注册"

while read line; do
    if  [[ ! $line =~ $str ]]; then
        echo $line;
    fi
done < inputfile

猜你喜欢

转载自blog.csdn.net/abcjennifer/article/details/46822031