目录
1.变量引用
2.获取字符串长度
3.字符串截取
4.删除子字符串
5.字符串替换
总结:
Bash(Shell 脚本)中的字符串处理语法。以下是对其的介绍和总结:Bash 变量可以使用不同的语法来获取、修改和删除字符串的内容。图片中列出了一些常用的字符串操作方法,包括:
1.变量引用
$(parameter): 直接返回变量 parameter 的值。
name="Alice"
echo ${name} # 输出:Alice
2.获取字符串长度
${#parameter}: 返回 parameter 变量的字符长度。
str="Hello"
echo ${#str} # 输出:5
3.字符串截取
${parameter:offset}: 从 offset 位置开始截取字符串。
str="abcdef"
echo ${str:2} # 输出:cdef
${parameter:offset:length}: 从 offset 位置截取 length 长度的字符串。
str="abcdef"
echo ${str:2:3} # 输出:cde
4.删除子字符串
${parameter#word}: 从字符串开头匹配 word,删除最短匹配部分。
file="file.txt.tar.gz"
echo ${file#*.} # 输出:txt.tar.gz(删除第一个.及之前内容)
${parameter##word}: 从字符串开头匹配 word,删除最长匹配部分。
file="file.txt.tar.gz"
echo ${file##*.} # 输出:gz(删除最后一个.及之前内容)
${parameter%word}: 从字符串结尾匹配 word,删除最短匹配部分。
file="file.txt.tar.gz"
echo ${file%.*} # 输出:file.txt.tar(删除最后一个.及之后内容)
${parameter%%word}: 从字符串结尾匹配 word,删除最长匹配部分。
file="file.txt.tar.gz"
echo ${file%%.*} # 输出:file(删除第一个.及之后内容)
5.字符串替换
${parameter/string/replace}: 替换变量 parameter 中第一个匹配的 string 为 replace。
str="hello world hello"
echo ${str/hello/Hi} # 输出:Hi world hello
${parameter//string/replace}: 替换 parameter 中所有匹配的 string 为 replace。
str="hello world hello"
echo ${str//hello/Hi} # 输出:Hi world Hi
总结:
# 和 % 用于从开头或结尾删除匹配的字符串,其中单个符号(# 或 %)是最短匹配,双符号(## 或 %%)是最长匹配。
注意以结尾删除的例子;删除匹配a*C未成功的原因是:字符串data123aBCXYZ结尾不是C。无法匹配
str="data123aBCXYZ"
echo ${str%a*C} # 输出:data123XYZ