如果 str 中包含与 sub_str 相匹配的模式,则表达式为真。 总结 以上三种方法都可以在Shell脚本中用来判断一个字符串是否包含另一个子串。选择哪种方法取决于具体的需求和场景。对于简单的子串搜索,使用 grep 或字符串操作符通常就足够了;而对于更复杂的模式匹配,可以考虑使用正则表达式。
1.通过grep来判断: 复制 str1="abcdefgh"str2="def"result=$(echo $str1|grep"${str2}")if[["$result"!=""]]then echo"包含"elseecho"不包含"fi 1. 2. 3. 4. 5. 6. 7. 8. 9. 先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果,如果结果不为空,说明str1...
Linux shell if 判断字符串包含子串 string='My long string' if [[ $string == *"My long"* ]] || [[ $string == *"my long"* ]]; then echo "It's there" fi
Linux shell if 判断字符串包含子串 string='My long string' if [[ $string == *"My long"* ]] || [[ $string == *"my long"* ]]; then echo "It's there" fi
sorry, index貌似不是我想的那个意思,expr index strings chars,只要chars中的任意一个字符在strings中出现,就返回所在的位置,否则返回0 $ str="hello,world" $ expr match "$str" ".*llo" 5 $ expr match "$str" ".*llt" 0 所以如何判断一个字符串是否包含某个子串: $ test `expr match "$str" ...
1.3.1 通过字符在串中的位置来呈现它 这样我们就可以通过指定位置来找到某个子串。这在c语言里头通常可以利用指针来做。而在shell编程中,有很多可用的工具,诸如expr,awk 都提供了类似的方法来实现子串的查询动作。两者都几乎支持模式匹配(match)和完全匹配(index)。这在后面的字符串操作中将详细介绍。
字符串长度 ${#string} expr length $string expr "$string" : '.*' 从字符串开始的位置匹配子串的长度 expr match "$string" '$substring' $substring 是一个正则表达式 expr "$string" : '$substring' $substring 是一个正则表达式 索引 expr index $string $substring ...
判断字符串是否以指定字符串开头、结尾 与检查字符串中是否包含指定字符串相似,也可以通过使用模式匹配*和[[]]进行比较判断。 string='my lovely dog'if[[$string=="my"*]];thenecho"start with 'my'!"fiif[[$string==*"dog"]];thenecho"end with dog!"fi ...
从Linux shell中提取子字符串可以使用多种方法,以下是其中几种常见的方法: 1. 使用变量和字符串截取: - 概念:在Linux shell中,可以使用变量和字符串截取操作来提取子字符...
字母字符用[:alpha:]表示 判断字符串是否包含某个子串 1、使用通配符* SIZE=10Mif[[$SIZE== *M* ]]thenecho"$SIZEinclude M"fi 2、使用操作符~ if[[$SIZE=~ M ]]thenecho"$SIZEinclude M"fi 3、利用grep查找 SIZE=10Mb result=`echo$SIZE| grep"Mb"`if["$result"!=""]thenecho"$SIZEinclude ...