转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html

我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,
当然shell编程也不例外咯,那么下面我们一起来看下shell中字符串
处理的相关操作吧。大概下面的字符串操作可以分为两种类型,一种
属于变量替换,另一种属于继承unix expr命令吧!

1、测试字符串长度${#string}expr length $stringexpr "$string" : '.*'例:#!/bin/bashstr="asfd"echo "${#str}"a=expr length $strecho "a=$a"a=0a=`expr "$str" : '.*'`echo "a=$a"2、匹配字符串开头的子串长度expr match "$string" '$substring'$substring是一个正则表达式.expr "$string" : '$substring'$substring是一个正则表达式.例:#!/bin/bashstr=abcABC123ABCabcecho `expr match "$str" 'abc[A-Z]*.2'`     # 8echo `expr "$str" : 'abc[A-Z]*.2'`          # 83、索引expr index $string $substring在字符串$string中所匹配到的$substring第一次所出现的位置.例:#!/bin/bashstr=abcABC123ABCabcecho `expr index "$str" C`     # 6     C 字符的位置.echo `expr index "$str" c`     # 34、提取子串${string:position}在$string中从位置$position开始提取子串。如果$string是"*"或者"@", 那么将会提取从位置$position开始的位置参数. [1]${string:position:length}在$string中从位置$position开始提取$length长度的子串.例:#!/bin/bashstr="abcABC123ABCabc"echo ${str:0}            #输出abcABC123ABCabcecho ${str:3}            #输出ABC123ABCabc echo ${str:6:3}            #输出1235、子串削除${string#substring}从$string的开头位置截掉最短匹配的$substring.${string##substring}从$string的开头位置截掉最长匹配的$substring.例:#!/bin/bashstr="abcABC123ABCabc"echo ${str#a*C}            #输出123ABCabcecho ${str##a*C}        #输出abcecho ${str##a*1}        #输出23ABCabc${string%substring}从$string的结尾位置截掉最短匹配的$substring.${string%%substring}从$string的结尾位置截掉最长匹配的$substring.例:#!/bin/bashstr=abcABC123ABCabcecho ${str%b*c}     #输出 abcABC123ABCa        echo ${str%%b*c}     #输出 a 6、子串替换${string/substring/replacement}使用$replacement来替换第一个匹配的$substring.${string//substring/replacement}
    使用$replacement来替换所有匹配的$substring.${string/%substring/replacement}如果$substring匹配$string的结尾部分, 那么就用$replacement来替换$substring.${string/#substring/replacement}如果$substring匹配$string的开头部分, 那么就用$replacement来替换$substring.例:#!/bin/bashstr="abcABC123ABCabc"echo ${str/ABC/&&&}        #输出 abc&&&123ABCabcecho ${str//ABC/&&&&}    #输出 abc&&&&123&&&&abcecho ${str/%abc/&&&}    #输出 abcABC123ABC&&&echo ${str/#abc/&&&}     #输出 &&&ABC123ABCabc

本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5681899.html,如需转载请自行联系原作者

shell中字符串操作【转】相关推荐

  1. linux bash 字符串 连接,Linux Bash 中字符串操作

    Linux Bash 中字符串操作 所谓 "子字符串" 就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 t ...

  2. Shell中字符串、数值的比较

    Shell中字符串.数值的比较 二元比较操作符,比较变量或者比较数字 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如: ...

  3. bash shell 中时间操作常用方法总结

    在日常的工作中,bash shell 的时间操作非常频繁.比如shell脚本定时发送数据统计的时候,会查看当前是否为预定的发送时间.或者使用文件保存一些数据时,一般会生成时间字符串当做文件名的一部分. ...

  4. Linux从mysql中读取数据_linux shell中读写操作mysql数据库

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

  5. shell之字符串操作

    在使用脚本的时候,字符串是我们经常用的对象,还经常会用到查找,替换,删减,比较等等操作.本人稍作整理,希望能对新人有所帮助,本人也是新人,(*^__^*) 嘻嘻-- 1.判断字符串的属性 一般用到的也 ...

  6. linux下字符串操作,Linux Bash 中字符串操作

    所谓"子字符串"就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 test" 的子字符串. 我们有 ...

  7. Python中字符串操作函数string.split('str1')和string.join(ls)

    Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 1 def split(self, ...

  8. python中查找字符串_python中字符串操作--截取,查找,替换

    python中,对字符串的操作是最常见的,python对字符串操作有自己特殊的处理方式. 字符串的截取 python中对于字符串的索引是比较特别的,来感受一下: s = '123456789' #截取 ...

  9. 关于C语言中字符串操作的几个函数的总结

    由于最近对字符操作比较多,常用到几个字符操作的函数,开始用的时候,总是有些迷糊,现在总结一下 sizeof 和strlen( )的使用区别 1.sizeof操作符的结果类型是size_t,它在头文件中 ...

最新文章

  1. zendStudio|Eclipse 相关收藏
  2. MySQL基本操作——增删查改
  3. 准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)
  4. 腾讯发现Google Home首个无接触攻破漏洞
  5. python在mac上_在Mac上Python多版本切换
  6. phpStudy中Xdebug设置 phpStorm设置
  7. 基于java+springboot+mybatis 网上商城项目设计和实现
  8. 最新!2001-2021武书连中国大学排行榜Top 20
  9. Extjs中的组件含有ID,会导致界面混乱。(textfield,comboBox等)
  10. python代码编辑器、最好_这十大文本/代码编辑器最好用
  11. 重新配置Domino服务器
  12. aspx 判断字符串是否为decimal_C++编程技巧: 如何判断输入是否为整型
  13. Unix/Linux环境C编程新手教程(40) 初识文件操作
  14. niosii 把程序固化到epcs中的步骤
  15. win7调整屏幕亮度_win7系统设置护眼色后,不生效怎么办?
  16. 火狐浏览器设置代理后出现“建立安全连接失败”问题的解决(由multisim引起
  17. modern ui html,非常漂亮的WPF界面框架(Modern UI for WPF)
  18. iOS开发-XIB、Storyboard操作小技巧
  19. 关于手机系统。。。。
  20. JS字符串截取方法 JS字符串查找指定字符方法 JS字符串替换指定字符方法 JS字符串插入指定位置方法 JS字符串删除指定字符方法

热门文章

  1. ORACLE会话以及SQL执行信息查询
  2. Shell 快速入门
  3. JDK 8 新特性 之 Strams简单使用
  4. 利用自定命令打开常用软件,小白秒变大神。
  5. pymssql出现的错误
  6. 如何创建和谐的色彩系统
  7. 据说 99% 的人不知道 vue-devtools 还能直接打开对应组件文件?本文原理揭秘
  8. 重学前端学习笔记(八)--JavaScript中的原型和类
  9. 用imageMagick的composite合并图片
  10. 云计算时代,互联网金融背后的想象空间