shell字符串的截取..docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
shell字符串的截取.

shell字符串的截取 shell字符串的截取的问题: 一、Linux shell 截取字符变量的前8位,有方法如下:   1.expr substr “$a” 1 8   2.echo $a|awk ‘{print substr(,1,8)}’   3.echo $a|cut -c1-8   4.expr $a : ‘\(.\\).*’   5.echo $a|dd bs=1 count=8 2/dev/null 二、按指定的字符串截取   1、第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ${varible%%string*}从右向左截取最后一个string后的字符串 ${varible%string*}从右向左截取第一个string后的字符串 “*”只是一个通配符可以不要 例子: $ MYVAR=foodforthought.jpg $ echo ${MYVAR##*fo} rthought.jpg $ echo ${MYVAR#*fo} odforthought.jpg   2、第二种方法:${varible:n1:n2}:截取变量varible从n1到n2之间的字符串。 可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行: $ EXCLAIM=cowabunga $ echo ${EXCLAIM:0:3} cow $ echo ${EXCLAIM:3:7} abunga 这种形式的字符串截断非常简便,只需用冒号分开来指定起始字符和子字符串长度。 三、按照指定要求分割: 比如获取后缀名 ls -al | cut -d “.” -f2 ?一、构造字符串 直接构造 STR_ZERO=hello STR_FIRST=i am a string STR_SECOND=success 重复多次 #repeat the first parm($1) by $2 times strRepeat() { local x=$2 if [ $x == ]; then x=0 fi local STR_TEMP= while [ $x -ge 1 ]; do STR_TEMP=`printf %s%s $STR_TEMP $1` x=`expr $x - 1` done echo $STR_TEMP } 举例: STR_REPEAT=`strRepeat $USER_NAME 3` echo repeat = $STR_REPEAT 二、赋值与拷贝 直接赋值 与构造字符串一样 USER_NAME=terry 从变量赋值 ALIASE_NAME=$USER_NAME 三、联接 直接联接两个字符串 STR_TEMP=`printf %s%s $STR_ZERO $USER_NAME` 使用printf可以进行更复杂的联接 四、求长 求字符数(char) COUNT_CHAR=`echo $STR_FIRST | wc -m` echo $COUNT_CHAR 求字节数(byte) COUNT_BYTE=`echo $STR_FIRST | wc -c` echo $COUNT_BYTE 求字数(word) COUNT_WORD=`echo $STR_FIRST | wc -w` echo $COUNT_WORD 五、比较 相等比较 str1 = str2 不等比较 str1 != str2 举例: if [ $USER_NAME = terry ]; then echo I am terry fi 小于比较 #return 0 if the two string is equal, return 1 if $1 $2, else 2strCompare() { local x=0 if [ $1 != $2 ]; then x=2 localTEMP=`printf %s\n%s $1 $2` local TEMP2=`(echo $1; echo $2) |sort` if [ $TEMP = $TEMP2 ]; then x=1 fi fi echo $x } 六、测试 判空 -z str 判非空 -n str 是否为数字 # return 0 if the string is num, otherwise 1 strIsNum() { local RET=1 if [ -n $1 ]; then local STR_TEMP=`echo $1 | sed s/[0-9]//g` if [ -z $STR_TEMP ]; then RET=0 fi f

文档评论(0)

bhzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档