Linux Shell中按位截取字符串的方法

在Linux Shell提供了一种通过指定字符位数来截取字符串的命令(字符串切片)。因该使用方式较为少见,特此记录。

截取字符串中第n个字符后的部分

基本语法

${var:n}

使用示例

[sunjian8889@host-10-172-16-44 ~]$ echo $VAR
abcdef
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR:1}
bcdef
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR:2}
cdef
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR:3}
def

截取第n个字符后起的m个字符

基本语法

${var:n:m}

使用示例

[sunjian8889@host-10-172-16-44 ~]$ VAR=abcdef
[sunjian8889@host-10-172-16-44 ~]$ echo $VAR
abcdef
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR:0:1}
a
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR:0:2}
ab
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR:0:3}
abc
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR:1:3}
bcd

从末尾开始截取n个字符

基本语法

${var: -n}

需要注意的是,“:”和“-”之间需要保留一个空格

使用示例

[sunjian8889@host-10-172-16-44 ~]$ VAR=abcdefg
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR: -1}
g
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR: -2}
fg
[sunjian8889@host-10-172-16-44 ~]$ echo ${VAR: -3}
efg

 

你可能感兴趣的:(Linux)