- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell处理字符串常用方法
Shell处理字符串常用方法 Shell处理字符串常用方法 上一篇 / 下一篇 2010-08-02 15:13:30 / 个人分类:Linux 查看 107 / 评论 0 / 评分 0 / 0 Shell处理字符串方法 备查 一、构造字符串 直接构造 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可以进行更复杂的联接 四、求长 获取字符串变量的长度:$ #string 求字符数 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 fi echo $RET 举例: if [ -n $USER_NAME ]; then echo my name is NOT empty fi echo `strIsNum 9980` 七、分割 以符号+为准,将字符分割为左右两部分 使用sed 举例: 命令 date --rfc-3339 seconds 的输出为 2007-04-14 15:09:47+08:00 取其+左边的部分 date --rfc-3339 seconds | sed s/+[0-9][0-9]:[0-9][0-9]//g 输出为 2007-04-14 15:09:47 取+右边的部分 date --rfc-3339 seconds | sed s/.*+//g 输出为 08:00 以空格为分割符的字符串分割 使用awk 举例: STR_FRUIT Banana 0.89 100 取第3字段 echo $STR_FRUIT | awk print $3; 八、子字符串 字符串1是否为字符串2的子字符串 # return 0 is $1 is substring of $2, otherwise 1 strIsSubstring local x 1 case $2 in *$1* x 0;; esac echo $x Shell字符串截取 一、Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘
文档评论(0)