Loading

[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

posted @ 2023-06-01 22:02  CK..Soul  阅读(34)  评论(0)    收藏  举报