四时宝库

程序员的知识宝库

【干货】shell判断字符串包含关系

我们经常遇到shell中需要判断字符串包含关系的场景

下面整理了常用的几种判断方法,代码示例如下:

#!/bin/bash
 
STR_CONTAINER="ABCDEFGabcdefg"
STR_TEST="Gabcd"

echo "STR_CONTAINER = ${STR_CONTAINER}"
echo "STR_TEST = ${STR_TEST}"
echo "STR_CONTAINER 是否包含 STR_TEST?"

# grep查找法
function test_based_grep()
{
	echo -e "    test_based_grep: \c"
	result=$(echo $STR_CONTAINER | grep "${STR_TEST}")
	if [[ "$result" != "" ]]; then
		echo "包含"
	else
		echo "不包含!"
	fi
}
 
# 字符串运算符
function test_based_string_operator()
{
	echo -e "    test_based_string_operator: \c"
	if [[ $STR_CONTAINER =~ $STR_TEST ]]; then
		echo "包含"
	else
		echo "不包含!"
	fi
}
 
# 利用通配符
function test_based_wildcards()
{
	echo -e "    test_based_wildcards: \c"
	if [[ $STR_CONTAINER == *$STR_TEST* ]]; then
		echo "包含"
	else
		echo "不包含!"
	fi
}

test_based_grep
test_based_string_operator
test_based_wildcards

# 执行结果示例:
STR_CONTAINER = ABCDEFGabcdefg
STR_TEST = Gabcd
STR_CONTAINER 是否包含 STR_TEST?
    test_based_grep: 包含
    test_based_string_operator: 包含
    test_based_wildcards: 包含



【星猿科技】:在这里我们共同探索科技新趋势,分享打动人心的影视作品,从人工智能到经典电影,我们追求技术的进步,同时珍视故事的力量。欢迎关注我们,在科技与影视的精彩世界中一起遨游,发现更多未知!#探索与发现#

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接