[Bash笔记] 字符串操作
字符串长度
关键符号
${#parameter}
str1="hello world"
echo ${str1}
#hello world
echo ${#str1}
#11
截取字符串
关键符号
${parameter:offset} ${parameter:offset:length}
str1="123456789"
echo ${str1:5} # 从第5位开始截取到末尾
#6789
echo ${str1:5:3} # 从第5位开始截取3位长度
#678
echo ${str1:5:-2} # 从第5位开始截取到倒数第二位
#67
字符串替换
关键符号
${parameter/pattern/string}
str1="123456789"
echo ${str1/234/abc} # 替换234为abc
#1abc56789
echo ${str1//3/a} # 使用两个 / 表示替换所有
#1122aa44
字符串删除
关键符号 删除以word开头的前缀
${parameter#word} ${parameter##word}
str1="abcdefg"
echo ${str1#abc} # 删除以abc开头的字符串
#defg
echo ${str1##abc} # 删除以abc开头的字符串
#defg
str1="aaaaabcdefg"
echo ${str1##*b} # 删除任意字符到b的字符串
#cdefg
echo ${str1##*a} # 删除任意字符到a的字符串
#bcdefg
关键符号 删除以word结尾的后缀
${parameter%word} ${parameter%%word}
str1="123456789"
echo ${str1%789} # 删除以789结尾的后缀
#123456
echo ${str1%%789} # 删除以789结尾的后缀
#123456
echo ${str1%%*9}
#
echo ${str1%%6*} # 删除从6到末尾的后缀
#12345
str1="1234566543"
echo ${str1%%6*} # 删除从6到末尾的后缀
#12345
echo ${str1%%65*} # 删除从65到末尾的后缀
#123456
大小写转换
关键符号 转大写:
${parameter^pattern} ${parameter^^pattern}转小写:${parameter,pattern} ${parameter,,pattern}
low="hello world"
echo ${low}
#hello world
echo ${low^} # 首字母转换成大写
#Hello world
echo ${low^^} # 所有转换成大写
#HELLO WORLD
upper="HELLO WORLD"
echo ${upper}
#HELLO WORLD
echo ${upper,} # 首字母转换成小写
#hELLO WORLD
echo ${upper,,} # 所有转换成小写
#hello world

浙公网安备 33010602011771号