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)
在shell编程中,查找字符在字符串中最后出现位置的几种方法
方法1:
复制代码代码示例:
#!/bin/ksh
$test.sh
方法2:
复制代码代码示例:
awk 'BEGIN{match("x00x11xxa",/.*x/);print RLENGTH;}'
方法3:
复制代码代码示例:
#!/bin/bash
strToCheck=$1; 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")}')
(责任编辑:IT)echo $startpos |