linux bash 如何判断输入的字符中包含特殊字符

如何判断一串字符串中含有特殊字符。
例如字符串中含有~!@#$%^&*()_+|-=\[]{}:";'<>?,./这类字符,且含有中文字符,如何判断。
我的目的是是否可以使用egrep命令结合管道命令“|”来同时判断?

最简单的是用 grep 来测试:
好比说你想要知道一个字串有没有含井字号(#):

S='12345#ABCDE'
echo $S | grep -q '#'
echo $?
0 <------- 如果return value是0的话,表示有,1的话,表示没有match

以此类推!

echo '123~456
123456
234!567
234567
345@678
12345
12345#
' | grep -e "#" -e"!" -e "@"

执行结果:

234!567
345@678
12345#
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-11
SS

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网