linux 中字符串扩展处理
001、字符串首字母转换为大写;以及全部转换为大写
[root@PC1 test1]# str1="abcde" ## 测试字符串 [root@PC1 test1]# echo ${str1^} ## 首字母转换为大写 Abcde [root@PC1 test1]# echo ${str1^^} ## 全部转换为大写 ABCDE

002、字符串首字母转换为小写;以及全部转换为小写
[root@PC1 test1]# str1="ABcdEFgH" [root@PC1 test1]# echo $str1 ABcdEFgH [root@PC1 test1]# echo ${str1,} ## 首字母转换为小写 aBcdEFgH [root@PC1 test1]# echo ${str1,,} ## 全部转换为小写 abcdefgh

003、获取字符串的长度
[root@PC1 test1]# str1="abcdEF" [root@PC1 test1]# echo ${#str1} ## 获取字符串str1的长度 6 [root@PC1 test1]# str2="abc" [root@PC1 test1]# echo ${#str2} ## 获取字符串str2的长度 3

004、截取字符串
[root@PC1 test1]# str1="abcdefg" ## 测试字符串 [root@PC1 test1]# echo $str1 abcdefg [root@PC1 test1]# echo ${str1:1} ## 字符串的1到最后 bcdefg [root@PC1 test1]# echo ${str1:1:3} ## 字符串的1到3 bcd

005、判断字符串是否定义
[root@PC1 test1]# unset str1 ## 空字符串 [root@PC1 test1]# echo ${str1?"undefine"} ## 输出后半部分;未定义 -bash: str1: undefine [root@PC1 test1]# str1="abcd" ## 定义字符串 [root@PC1 test1]# echo ${str1?"undefine"} ## 输出字符串 abcd

006、查找并替换字符串
[root@PC1 test1]# str1="abcdabcdxyabcd" ## 测试字符串 [root@PC1 test1]# echo $str1 abcdabcdxyabcd [root@PC1 test1]# echo ${str1/abc/QQQ} ## 仅替换第一个 QQQdabcdxyabcd [root@PC1 test1]# echo ${str1//abc/QQQ} ## 替换全部 QQQdQQQdxyQQQd

007、字符串截取
a、从左侧删除
[root@PC1 test1]# var=GCF_000001735.4_TAIR10.1_genomic.fna ## 测试字符串 [root@PC1 test1]# echo ${var#*.} ## 删除第一个.前边的内容 4_TAIR10.1_genomic.fna [root@PC1 test1]# echo ${var##*.} ## 删除最后一个点前边的 fna

b、从右侧删除
[root@PC1 test1]# var=GCF_000001735.4_TAIR10.1_genomic.fna [root@PC1 test1]# echo ${var%.*} ## 删除左侧第一个.右侧的内容 GCF_000001735.4_TAIR10.1_genomic [root@PC1 test1]# echo ${var%%.*} ## 删除从左侧最后一个.右侧的内容 GCF_000001735

。

浙公网安备 33010602011771号