Shell 字符串匹配:通配符、正则表达式和比较函数
在 Shell 脚本中,可以使用多种方式进行字符串匹配,例如使用通配符、正则表达式或者字符串比较函数等。下面是一些常用的方法:
-
通配符匹配: 使用
*通配符表示零个或多个任意字符,?通配符表示一个任意字符。# 匹配以 abc 开头的字符串 if [[ $str == abc* ]]; then echo '匹配成功' fi # 匹配以 abc 结尾的字符串 if [[ $str == *abc ]]; then echo '匹配成功' fi # 匹配包含 abc 的字符串 if [[ $str == *abc* ]]; then echo '匹配成功' fi -
正则表达式匹配: 使用
=~操作符可以将字符串与正则表达式进行匹配。# 匹配以数字开头的字符串 if [[ $str =~ ^[0-9] ]]; then echo '匹配成功' fi # 匹配以字母结尾的字符串 if [[ $str =~ [a-zA-Z]$ ]]; then echo '匹配成功' fi # 匹配包含数字的字符串 if [[ $str =~ [0-9] ]]; then echo '匹配成功' fi -
字符串比较函数: 可以使用字符串比较函数,如
==、!=、<、>、-z等进行字符串匹配。# 判断字符串是否相等 if [ $str == 'abc' ]; then echo '匹配成功' fi # 判断字符串是否不相等 if [ $str != 'abc' ]; then echo '匹配成功' fi # 判断字符串是否为空 if [ -z $str ]; then echo '匹配成功' fi # 判断字符串的长度是否为 0 if [ ${#str} -eq 0 ]; then echo '匹配成功' fi
注意,以上示例中的$str表示要匹配的字符串变量,可以根据实际情况进行替换。
原文地址: https://www.cveoy.top/t/topic/paVP 著作权归作者所有。请勿转载和采集!