Linux Shell查找字符串,返回字符串出现的位置

想到Linux Shell中查找字符串,你别给说是

#注意:expr index 字符串 char

string="runoob is a great site"
echo `expr index "$string" io`  # 输出 4

这个命令真的是,坑人。。。。。。

算了自写一个函数用来实现这个功能,必须放在调用前!

function indexstr(){
	str=$1
	sstr=$2
	startindex=$3
	i=$startindex
	slength=${#sstr}
	tlength=${#str}
	result=-1
	while(( $i<$tlength ))
	do
		str2=${url:$i:$slength}
		if [ "$str2"x = "$sstr"x ]; then
			echo $i
			return  0;
			break 1
		fi
		let i++
	done
	echo -1;
	return  -1;
}

调用时:

#参数一 待查找的字符串
#参数二 欲查找的字符串
#参数三 起始位置 从0开始
index=`indexstr "$url" "$urlstart" 0`
#变量index=indexstr 参数一 参数二 参数三
#为防止变量中字符串被解析传字符串参数时须用 "" 括起字符串变量

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值