linux shell 显示字符串长度,linux shell 字符串操作(长度,查找,替换,匹配)详解...

1.长度

[[email protected] ~]$ test=‘I love china‘

[[email protected] ~]$ echo ${#test}

12

${#变量名}得到字符串长度

另一种方法:

expr length "$adcode"

2.截取字串

[[email protected] ~]$ test=‘I love china‘

[[email protected] ~]$ echo ${test:5}

e china

[[email protected] ~]$ echo ${test:5:10}

e china

echo ${test:(-3)}

ina

echo ${test:(-3):2}

in

${变量名:起始:长度}得到子字符串

3.字符串删除

[[email protected] ~]$ test=‘c:/windows/boot.ini‘

[[email protected] ~]$ echo ${test#/}

c:/windows/boot.ini

[[email protected] ~]$ echo ${test#*/}

windows/boot.ini

[[email protected] ~]$ echo ${test##*/}

boot.ini

[[email protected] ~]$ echo ${test%/*}

c:/windows

[[email protected] ~]$ echo ${test%%/*}

${变量名#substring正则表达式}从字符串开头开始配备substring,删除匹配上的表达式。

${变量名%substring正则表达式}从字符串结尾开始配备substring,删除匹配上的表达式。

注意:${test##*/},${test%/*} 分别是得到文件名,或者目录地址最简单方法。

4.字符串替换

[[email protected] ~]$ test=‘c:/windows/boot.ini‘

[[email protected] ~]$ echo ${test//}

c:/windows/boot.ini

[[email protected] ~]$ echo ${test///}

c:/windows/boot.ini

${变量/查找/替换值} 一个“/”表示替换第一个,”//”表示替换所有,当查找中出现了:”/”请加转义符”//”表示。