匹配一个正则表达式的Shell

来源:互联网 发布:丹东淘宝模特兼职招聘 编辑:程序博客网 时间:2024/05/21 17:20
is_upper() # is_upper# checks tosee if we have a string in upper case# to call: is_upper $1{ # check we have the right params if [ $# -ne 1 ]; then echo "is_upper: I need a string to test OK" return 1 fi # use awk to check we have only uppercase _IS_UPPER=`echo $1|awk '{if($0~/[^A-Z]/) print "1"}'` if [ "$_IS_UPPER" != "" ] then # no, they are not all uppercase return 1 else # yes all uppercase return 0 fi }#_IS_UPPER=`echo $1|awk '{if($0~/[^A-Z]/) print "1"}'`
这句的“ ~ ”表示匹配一个正则表达式,[^A-Z]表示A-Z以外的字符 
所以这句话的意思是如果第一参数中出现了任意一个A-Z以外的字符(即不全是大写英文字母),则打印"1"