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

 。

 

posted @ 2024-02-20 18:22  小鲨鱼2018  阅读(4)  评论(0编辑  收藏  举报