- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 filocal 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
您可能关注的文档
- SFPSZ9-90000-220..doc
- SFSSS炉膛安全监视保护仪..doc
- SFS系列分级筛..doc
- SFT1302石油产品凝点倾点全自动仪器..doc
- SF型6×14SD单级双吸水平中开式离心泵概述..doc
- SF系列振动分级筛20071045BT..doc
- SG-120三相隔离干式变压器..docx
- SG-2003煤矿自然发火束管监测系统安装指导书..doc
- sg3525示范电路及详解..docx
- SF憎水膨珠保温砂浆选购秘籍..doc
- 《土壤修复后污染场地长期监测与生态系统服务功能评估》教学研究课题报告.docx
- 忆读书说课课件PPT.pptx
- 初中物理教学:无人机集群协同控制算法在物理实验探究中的应用与设计教学研究课题报告.docx
- 人工智能辅助高中化学教育中的应用需求分析——多模态数据采集实证研究教学研究课题报告.docx
- 人工智能教育平台中的体育训练教学策略筛选与共享机制教学研究课题报告.docx
- 忍耐心的班会课件.pptx
- 护工护理基础知识课件.pptx
- 衣服自己叠小学一年级劳动教育讲课PPT课件.pptx
- 肾脏疾病患者护理与治疗.pptx
- 区块链在小学体育教学评价数据加密与隐私保护中的应用探讨教学研究课题报告.docx
文档评论(0)