shell处理字符串常用方法

shell处理字符串常用方法

ID:18286405

大小:47.50 KB

页数:18页

时间:2018-09-16

shell处理字符串常用方法_第1页
shell处理字符串常用方法_第2页
shell处理字符串常用方法_第3页
shell处理字符串常用方法_第4页
shell处理字符串常用方法_第5页
资源描述:

《shell处理字符串常用方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Shell处理字符串常用方法Shell处理字符串常用方法上一篇/下一篇2010-08-0215:13:30/个人分类:Linux查看(107)/评论(0)/评分(0/0)Shell处理字符串方法(备查)一、构造字符串直接构造STR_ZERO=helloSTR_FIRST="iamastring"STR_SECOND='success'重复多次#repeatthefirstparm($1)by$2timesstrRepeat(){localx=$2if["$x"==""];thenx=0filocalSTR_TEMP=""while[$x-ge1];doSTR_T

2、EMP=`printf"%s%s""$STR_TEMP""$1"`x=`expr$x-1`doneecho$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可以进行更复杂的联接四、求长获取字符串变量的长度:${#str

3、ing}求字符数(char)COUNT_CHAR=`echo"$STR_FIRST"

4、wc-m`echo$COUNT_CHAR求字节数(byte)COUNT_BYTE=`echo"$STR_FIRST"

5、wc-c`echo$COUNT_BYTE求字数(word)COUNT_WORD=`echo"$STR_FIRST"

6、wc-w`echo$COUNT_WORD五、比较相等比较str1=str2不等比较str1!=str2举例:if["$USER_NAME"="terry"];thenecho"Iamterry"fi小于比较#return0ifthetwostrin

7、gisequal,return1if$1<$2,else2strCompare(){localx=0if["$1"!="$2"];thenx=2localTEMP=`printf"%s%s""$1""$2"`localTEMP2=`(echo"$1";echo"$2")

8、sort`if["$TEMP"="$TEMP2"];thenx=1fifiecho$x}六、测试判空-zstr判非空-nstr是否为数字#return0ifthestringisnum,otherwise1strIsNum(){localRET=1if[-n"$1"];thenlocalST

9、R_TEMP=`echo"$1"

10、sed's/[0-9]//g'`if[-z"$STR_TEMP"];thenRET=0fifiecho$RET}举例:if[-n"$USER_NAME"];thenecho"mynameisNOTempty"fiecho`strIsNum"9980"`七、分割以符号+为准,将字符分割为左右两部分使用sed举例:命令date--rfc-3339seconds的输出为2007-04-1415:09:47+08:00取其+左边的部分date--rfc-3339seconds

11、sed's/+[0-9][0-9]:[0-9][0-9]//

12、g'输出为2007-04-1415:09:47取+右边的部分date--rfc-3339seconds

13、sed's/.*+//g'输出为08:00以空格为分割符的字符串分割使用awk举例:STR_FRUIT="Banana0.89100"取第3字段echo$STR_FRUIT

14、awk'{print$3;}'八、子字符串字符串1是否为字符串2的子字符串#return0is$1issubstringof$2,otherwise1strIsSubstring(){localx=1case"$2"in*$1*)x=0;;esacecho$x}Shell字符串截取一、Li

15、nuxshell截取字符变量的前8位,有方法如下:1.exprsubstr“$a”182.echo$a

16、awk‘{printsubstr(,1,8)}’3.echo$a

17、cut-c1-84.echo$5.expr$a:‘(.\).*’6.echo$a

18、ddbs=1count=82>/dev/null二、按指定的字符串截取1、第一种方法:${varible##*string}从左向右截取最后一个string后的字符串${varible#*string}从左向右截取第一个string后的字符串${varible%%string*}从右向左截取最后一个string

19、后的字符串${varib

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。