2024年04月23日
shell来操作字符串(shell脚本字符串赋值)
shell中各种字符串的操作方式
- `${#string}`:获取字符串 `$string` 的长度。
- `${string:position}`:从字符串 `$string` 中提取从位置 `$position` 开始的子字符串。
- `${string:position:length}`:从字符串 `$string` 中提取从位置 `$position` 开始长度为 `$length` 的子字符串。这里的位置从 0 开始计数,即第一个字符的位置为 0。
- `${string#substring}`:从字符串 `$string` 的开头删除最短匹配的子字符串 `$substring`。
- `${string##substring}`:从字符串 `$string` 的开头删除最长匹配的子字符串 `$substring`。
- `${string%substring}`:从字符串 `$string` 的末尾删除最短匹配的子字符串 `$substring`。
- `${string%%substring}`:从字符串 `$string` 的末尾删除最长匹配的子字符串 `$substring`。
- `${string/substring/replacement}`:用 `$replacement` 替换字符串 `$string` 中第一个匹配的子字符串 `$substring`。
- `${string//substring/replacement}`:用 `$replacement` 替换字符串 `$string` 中所有匹配的子字符串 `$substring`。
- `${string/#substring/replacement}`:如果字符串 `$string` 的开头匹配子字符串 `$substring`,则用 `$replacement` 替换 `$substring`。
- `${string/%substring/replacement}`:如果字符串 `$string` 的末尾匹配子字符串 `$substring`,则用 `$replacement` 替换 `$substring`。
- `expr match "$string" '$substring'` 或 `expr "$string" : '$substring'`:返回字符串 `$string` 开头匹配的子字符串 `$substring` 的长度。
- `expr index "$string" $substring`:返回字符串 `$string` 中第一个与子字符串 `$substring` 匹配的字符的位置。如果没有匹配,则返回 0。第一个字符的位置从 1 开始计数。
- `expr substr $string $position $length`:返回字符串 `$string` 中从位置 `$position` 开始长度为 `$length` 的子字符串。这里的位置从 1 开始计数,即第一个字符的位置为 1。
- `expr match "$string" '\($substring\)'` 或 `expr "$string" : '\($substring\)'`:返回字符串 `$string` 中从开头开始第一个匹配子字符串 `$substring` 的子字符串。
- `expr match "$string" '.*\($substring\)'` 或 `expr "$string" : '.*\($substring\)'`:返回字符串 `$string` 中从末尾开始第一个匹配子字符串 `$substring` 的子字符串。
书籍推荐
标签:stringsubstr