shell字符串截取与连接

Zss 发表于:

1. # 号截取,删除左边字符,保留右边字符

var="http://www.testone.top/zhuone"
echo ${var#*//}

输出:www.testone.top/zhuone

其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符

 

2. ## 号截取,删除左边字符,保留右边字符

var="http://www.testone.top/zhuone"
echo ${var##*/}

输出:zhuone

##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符

与1的区别在于一个是最左边的//  而这个是最右边的 /

 

3. %号截取,删除右边字符,保留左边字符

var="http://www.testone.top/zhuone"
echo ${var%/*}

输出:http://www.testone.top

%/* 表示从右边开始,删除第一个 / 号及右边的字符   去除文件后缀很实用

 

4. %% 号截取,删除右边字符,保留左边字符

var="http://www.testone.top/zhuone"
echo ${var%%/*}

输出:http:

与一个%号相反  删除最左边第一个匹配的字符及右边的字符

 

5. 从左边第几个字符开始,及字符的个数

var="http://www.testone.top/zhuone"
echo ${var:0:6}

输出:http:/

从左边到右边   第一个字符开始,总共六个字符数

 

6. 从左边第几个字符开始,一直到结束

var="http://www.testone.top/zhuone"
echo ${var:4}

输出:://www.testone.top/zhuone

从左边开始  第五个字符直到最后  左边index是从0开始

 

7. 从右边第几个字符开始,及字符的个数

var="http://www.testone.top/zhuone"
echo ${var:0-8:6}

输出:p/zhuo

从右边第8个字符开始,截取6个

 

8. 从右边第几个字符开始,一直到结束

var="http://www.testone.top/zhuone"
echo ${var:0-11}

输出:.top/zhuone

从右边第11个字符开始截取,直到结束

9.字符串的拼接

#!/bin/sh
var1="http://www.testone"
var2=".top"

var4=${var1}${var2}
var5=${var1}"---"${var2}

echo ${var4}
echo ${var5}
~             
输出:
Welcome To Test Zone
http://www.testone---.top