|
原文:http://www.linuxsir.org/bbs/printthread.php?t=102471
比如说传入的参数是str
tmpstr=`echo &str|awk '{print substr($0,length($0)-1),2}' #取最后两位
if [ "$tmpstr" == "aa" ];then
......
elif [ "$tmpstr" == "bb" ]; then
......
fi
从一个字符串中取前5码,有多少种方法?
不一定是前5码了,例如第3-7之间的字符
我用的是:
expr substr $str 1 5
请问还有其他方法么?:(
echo $str|awk '{print substr($0,1,5)}'
echo $str|sed 's/\(.....\).*/\1/' or echo $str|sed 's/\(^.\{5\}\).*/\1/'
echo $str|cut -c1-5
echo ${str:0:5}
echo $str|grep -o '.....' #有问题 ;)
ps:grep也可以,不过要指明起始字符 :D
引用:
/home/javalee/test#echo abcdefghijlk|grep -o 'b[a-z]\{5\}'
bcdefg
/home/javalee/test#echo abcdefghijlk|grep -o 'b[a-z]\{4\}'
bcdef
/home/javalee/test#echo abcdefghijlk|grep -o 'b[a-z]..'
bcde
/home/javalee/test#echo abcdefghijlk|grep -o 'b[a-z]...'
bcdef |
|
|
|
|
|
|