当前位置: > shell编程 >

shell脚本查找字符在字符串中最后出现的位置

时间:2014-09-30 21:46来源:linux.it.net.cn 作者:it
在shell编程中,查找字符在字符串中最后出现位置的几种方法

方法1:
 

复制代码代码示例:

#!/bin/ksh
var="A12345A67890123A45"
tmp=$(echo $var | sed 's/\(.*A\)\(.*\)/\1/')
echo ${#tmp}

$test.sh
16

方法2:
 

复制代码代码示例:
awk 'BEGIN{match("x00x11xxa",/.*x/);print RLENGTH;}'

方法3:
rindex.sh代码:
 

复制代码代码示例:

#!/bin/bash

strToCheck=$1;
charToSearch=$2;

let pos=`echo "$strToCheck" | awk -F ''$charToSearch'' '{printf "%d", length($0)-length($NF)}'`

echo "char $charToSearch lastpos is: $pos"

例子:
 

复制代码代码示例:
[zeal]$ sh rindex.sh
char . lastpos is: 10

顺序查找,可以用:
 

复制代码代码示例:
startpos=$(echo   $1|awk   '{print   index($1,"keyword")}')   
echo   $startpos  
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容