${#str} str的长度
expr length "$str"
expr "$str" : '.*'
匹配字符串开头的字串长度,
expr match "$str" '$sub'
expr "$str" : '$sub'
str=abcABC123ABCabc
^------------------^
echo `expr "$str" : '.*ABC'` #12
索引
expr index $str $sub
取子串
${str:position}
${str:position:length}
expr substr $str $position $length
expr match "$str" '\($sub\)' #从开始取到substr
expr "$str" : '\($sub\)'
expr match "$str" '.*\($sub\)' #从结尾取到substr
expr "$str" : '.*\($sub\)'
子串删除
${str#sub} # 从开始去掉在最小匹配的$sub
${str##sub} # 最大
${str%sub} #从结尾
${str%%sub} #最大匹配
子串替换
${str/sub/repl} #用repl替换第一个匹配的sub
${str//sub/repl} #替换所有匹配
${str/#sub/repl} #如果sub匹配str的开头部分,则用repl替换
${str/%sub/repl} #如果sub匹配str的结尾部分,则用repl替换
分享到:
相关推荐
字符串处理是BASH编程中的重要组成部分,它允许用户对文本数据进行操作,包括截取、替换、比较等。这篇博文将深入探讨BASH中的字符串处理技巧。 一、字符串定义与赋值 在BASH中,字符串可以被赋值给变量,常见的...
### Shell 字符串操作详解 #### 一、引言 在Shell编程中,字符串操作是一项基本而重要的技能。无论是简单的脚本还是复杂的自动化任务,掌握如何有效地...希望本文能帮助读者更好地理解和运用Shell中的字符串处理技术。
首先,让我们了解一些基本的shell字符串处理命令: 1. **变量赋值**:在shell中,我们可以通过`var="string"`来定义一个字符串变量。 2. **引用**:双引号(`"`)内的变量会被解析,单引号(`'`)内的变量则不会。例如...
在Bash Shell中,字符串操作是日常脚本编写中...掌握这些Bash Shell字符串操作技巧,将有助于编写更高效、更灵活的脚本,解决各种文本处理任务。在实际使用中,根据具体需求选择合适的方法,可以极大地提高工作效率。
### Shell字符串比较与数字判断详解 #### 一、概述 在Shell脚本编程中,进行字符串和数字的比较是一项常见的任务。本文将详细介绍如何在Shell脚本中进行字符串和数字的比较,包括基本的比较操作符及其使用场景,并...
在Linux系统中,Bash shell提供了一系列强大的命令来处理字符串,这些命令包括grep、sed、cut等。本文将详细介绍这些命令的功能、参数及其使用方法。 首先,让我们来看看grep命令。grep全称为Global Regular ...
### Shell中的字符串处理方法 #### 引言 在Shell编程中,字符串处理是一项重要的技能,尤其是在Linux环境下。本文将深入探讨几种高效的字符串处理技术,并通过实际示例展示这些技巧的应用场景。 #### 字符串截断 ...
`awk`是一种强大的文本处理工具,可以用于复杂的字符串处理任务。 - **语法**: `echo $string | awk '{print substr($0, start, length)}'` - `$string`: 输入的字符串。 - `start`: 开始位置。 - `length`: 截取...
提示符(PS1)是Shell在等待用户输入时显示的字符串,可自定义以提供更多信息,如当前目录、用户名、主机名等。 六、Bash Shell扩展 Bash提供了许多高级特性,如数组(用于存储多个值)、命令替换(`$(command)`或`...
3. **引用和字符串**:这部分可能会涉及如何使用引号来保护字符串内容,以及字符串的操作,如拼接、截取等。 4. **流程控制**:介绍条件语句(if、else、case)、循环结构(for、while、until),以及如何进行错误...
- 在Bash中,正则表达式常用于文件名扩展、字符串查找和替换。 - 使用`[[`...`]]`进行模式匹配,比如`[[ $str =~ pattern ]]`。 8. **函数与脚本调试** - 脚本调试技巧包括使用`set -x`显示命令执行过程,`set -...
- **locale特定翻译**:`$(catvar LC_COLLATE=C)`,用于国际化环境下的字符串处理。 - **注释**:以`#`开头的行,用于添加代码说明,不会被Shell执行。 #### 3. **Shell命令** - **简单命令**:如`ls`、`cd`等...
1. **概述 (SYNOPSIS)**:这部分通常会列出启动Bash Shell时的命令行选项,如`-i`用于启动交互式shell,`-c`用于执行指定的命令字符串等。 2. **版权所有 (COPYRIGHT)**:文档的版权信息,规定了使用、复制和分发...
15. **shell内置命令**:如`read`用于从标准输入读取一行,`echo`打印字符串,`printf`格式化输出,`source`或`.`用于在当前shell环境中执行文件内容。 16. **历史记录**:`history`命令列出历史命令,`!n`或`!-n`...
首先,我们需要了解Shell中的字符串处理基本规则,以及不同比较运算符的区别。 1. **字符串赋值与引号**: 在Shell中,字符串可以通过`$`符号引用。单引号`' '`不会进行变量替换,而双引号`"`则会。例如: ```...
总之,Shell编程中的字符串操作是实现各种文本处理任务的基础,无论是简单的字符检测还是复杂的文本处理,都可以通过Shell脚本来高效完成。掌握好字符串操作的相关知识,对于提升Shell编程能力具有重要意义。