shell编程字符串处理
来源:互联网 发布:多玩魔盒mac版7.0更新 编辑:程序博客网 时间:2024/05/22 19:10
Bash中的字符串处理
Bash支持一系列令人吃惊的数字和字符串处理。不幸的是这些工具缺乏统一的焦点/目的,
它们有些是参数替换(parameter substitution)的子集,其他的属于UNIX命令expr的功能。
这种情况导致了命令语法的不一致/统一 和 功能的重复实现,别提有多混乱了!
字符串长度(String Length)
${#string}
expr length $string
expr "$string" : '.*'
匹配的最小子串的长度(Length of Matching Substring at Beginning of String)
expr match "$string" '$substring' # $substring is a regular expression
expr "$string" : '$substring' # $substring is a regular expression
索引(Index)
expr index $string $substring
匹配的第一个子串在主串中的位置,与C语言中的strchr()功能相似。
提取子串(Substring Extraction)
${string:position}
提取$string中从$position开始到结尾的子串
如果$string是”*”或”@”,则提取的是参数列表中$position开始到最后的所有参数
${string:position:length}
提取从$position开始长度为$length的子串
如果$string是”*”或”@”,则提取的是参数列表中$position开始的$length个参数
expr substr $string $position $length
提取从$position开始长度为$length的子串
expr match "$string" '\($substring\)' # $substring is a regular expression
expr "$string" : '\($substring\)' # $substring is a regular expression
提取匹配$substring的第一个子串
expr match "$string" '.*\($substring\)' # $substring is a regular expression
expr "$string" : '.*\($substring\)' # $substring is a regular expression
提取匹配$substring的最后一个子串
删除子串(Substring Removal)
${string#substring}
删除最前面匹配$substring的最短的子串
${string##substring}
删除最前面匹配$substring的最长的子串
${string%substring}
删除最后面匹配$substring的最短的子串
${string%%substring}
删除最后面匹配$substring的最长的子串
替换子串(Substring Replacement)
${string/substring/replacement}
把第一个匹配的$substring替换为$replacement
${string//substring/replacement}
把所有匹配的$substring替换为$replacement
${string/#substring/replacement}
如果主串开头匹配$substring则用$replacement替换它
${string/%substring/replacement}
如果主串结尾匹配$substring则用$replacement替换它
0 0
- shell编程字符串处理
- Shell 编程10(字符串处理)
- shell脚本编程四 ——shell字符串处理
- Linux20-shell编程基础、数值计算、字符串处理
- shell处理字符串记录
- shell字符串处理
- shell的字符串处理
- Shell处理字符串方法
- shell字符串处理
- shell 字符串处理
- Shell的字符串处理
- Shell的字符串处理
- Shell的字符串处理
- shell的字符串处理
- shell 字符串处理
- shell 字符串处理
- shell 字符串处理
- shell字符串处理相关
- linux EHCI DRIVER之中断处理函数ehci_irq()分析(一)
- postgresql数据导入到mysql
- 虚函数练习:交通工具信息
- 做一个努力的人
- Hibernate如何设置一对多cascade
- shell编程字符串处理
- linux EHCI DRIVER之中断处理函数ehci_irq()分析(二)
- jquery的append、prepend、html、after、before 的总结和区别
- 8张图理解Java
- 关与 Visual.Assist.X.V10.7.1912的Crack破解补丁(vs 番茄插件的key破解方法)
- No row with the given identifier exists: [com.yunban.bo.University#0]
- C、C++和JAVA等程序语言中,函数参数三个点“...”的意思和用法。
- DOM常用方法总结
- 如何调用当前栏目的上级栏目名称