1.shell命令之字符串操作

2019-08-13  本文已影响0人  写代码的向日葵

1. 计算字符串的长度

语法 说明
方法一 ${#string}
方法二 expr length "$string" string有空格,则必须加双引号

用法如下:

#输入:
string="Hello World"
length=${#string}
echo $length
#输出:
11
#输入:
string="Hello World"
length=`expr length "$string"`
echo $length
#输出:
11

2.获取子串在字符串中的位置

语法 expr index $string $substring

用法如下:

#输入:
string="quickstart is a app"
index=`expr index "$string" start`
echo ${index}
#输出:
6
uniq=`expr index "$string" uniq`
echo ${uniq}
1
cnk=`expr index "$string" cnk`
echo ${cnk}
4

\color{red}{'不是单引号,而是反引号;}
\color{red}{查找子串的时候是拆成一个个字符去查找的,所以上面的uniq第一个找到的是q,所以结果为1;}
\color{red}{cnk第一个找到的c,位置字符串中第四个位置}

3.获取子字串长度

语法 expr match $string substr

用法如下:

#输入:
string="quiackstart is a app"
sub_len=`expr match "$string" start`
echo ${sub_len}
0
sub_len=`expr match "$string" quick.*`
echo ${sub_len}
19
sub_len=`expr match "$string" quick`
echo ${sub_len}
5

\color{red}{只会从头开始匹配,start不是从头开始,所以输入为0;}
\color{red}{quit.* 匹配从quintk开始,然后到全部,所以是整个长度19 }
\color{red}{不是从头开始,就算包含子串,也会匹配不到}

4.抽取子串

语法 说明
方法一 ${string:position} 从string中的position开始
方法二 ${string:position:length} 从position开始,匹配长度为length
方法三 ${string:-position} 从右边开始匹配'-'和‘:’之间有空格
方法四 ${string:(position)} 从左边开始匹配
方法五 expr substr $string $position $length 从position开始,匹配长度为length
上一篇 下一篇

猜你喜欢

热点阅读