26_字符串的处理

发布时间 2023-10-21 00:56:46作者: 鸟叔书
1.字符串截取
# 方法1
# s{}表达式  ${变量名:起始位置:长度} (从0开始)
[root@kvm ~]# n="abcdefg"
[root@kvm ~]#
[root@kvm ~]# echo ${#n}
7
[root@kvm ~]# echo ${n:0:4}
abcd
[root@kvm ~]# echo ${n:1:3}
bcd

# 方法2
# 格式:echo $变量名 | cut -b 起始位置-结束位置 可省略任何一个
[root@kvm ~]# n="abcdefg"
[root@kvm ~]#
[root@kvm ~]# echo $n | cut -b 1-3
abc
[root@kvm ~]# echo $n | cut -b -3
abc
[root@kvm ~]# echo $n | cut -b 1-
abcdefg
[root@kvm ~]# echo $n | cut -b 1,3,5
ace

# 字符串替换
[root@kvm ~]# n="aaabbcdeeefggff"
[root@kvm ~]#
[root@kvm ~]# echo ${n/e/E}
aaabbcdEeefggff
[root@kvm ~]#
[root@kvm ~]#
[root@kvm ~]# echo ${n//e/E}
aaabbcdEEEfggff

# 字符串的删除
# 从左向右,最短距离匹配 格式:${n#*key}
# 从左向右,最长距离匹配 格式:${n##*key}
# 从右向左,最短匹配删除 格式:${n%key*}
# 从右向左,最长匹配删除 格式:${n%%key*}
[root@kvm ~]# n="root:x:0:0:root:/root:/bin/bash"
[root@kvm ~]#
[root@kvm ~]# echo ${n#*:}
x:0:0:root:/root:/bin/bash
[root@kvm ~]#
[root@kvm ~]# echo ${n##*:}
/bin/bash
[root@kvm ~]# echo ${n%:*}
root:x:0:0:root:/root
[root@kvm ~]#
[root@kvm ~]# echo ${n%%:*}
root