本文已参与 ⌈新人创作礼⌋ 活动,一起开启掘金创作之路
Linux下字符串截取、拼接、替换等处理命令参考
假设有变量 var=www.abc.com/echo/index.…
[root@test ~]# var=http://www.abc.com/echo/index.html
1.以# 号截取,删除左边字符,保留右边字符(查找方向:从左向右)。
格式为:
[root@test ~]# echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果为:
[root@test ~]# echo ${var#*//}
www.abc.com/echo/index.html
[root@test ~]#
2.以 ## 号截取,删除左边字符,保留右边字符(查找方向:从右向左)。
格式为:
[root@test ~]# echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/
结果是:
[root@test ~]# echo ${var##*/}
index.html
- 以%号截取,删除右边字符,保留左边字符
格式为:
[root@test ~]# echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:
[root@test ~]# echo ${var%/*}
http://www.abc.com/echo
[root@test ~]#
- %% 号截取,删除右边字符,保留左边字符
格式为:
[root@test ~]# echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:
[root@test ~]# echo ${var%%/*}
http:
[root@test ~]#
- 从左边第几个字符开始,及字符的个数
格式为:
[root@test ~]# echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:
[root@test ~]# echo ${var:0:5}
http:
- 从左边第几个字符开始,一直到结束。
格式为:
[root@test ~]# echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :
[root@test ~]# echo ${var:7}
www.abc.com/echo/index.html
- 从右边第几个字符开始,及字符的个数
格式为:
[root@test ~]# echo ${var:0-10:5}
其中的 0-10 表示右边算起第10个字符开始;5 表示字符的个数,截取方向:向右。
结果是:
[root@test ~]# echo ${var:0-10:5}
index
- 从右边第几个字符开始,一直到结束。
格式为:
[root@test ~]# echo ${var:0-10}
表示从右边第10个字符开始,一直向右到结束。
结果是:
[root@test ~]# echo ${var:0-10}
index.html
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
============================================================
字符串替换
[root@test ~]# echo ${var}
http://www.abc.com/echo/index.html
[root@test ~]#
[root@test ~]# echo ${var/abc/ddd} ###将abc替换为ddd
http://www.ddd.com/echo/index.html
[root@test ~]# echo ${var/./;} ###将“.”替换为“;”
http://www;abc.com/echo/index.html
[root@test ~]# echo ${var//./;} ###将所有的“.”替换为“;”
http://www;abc;com/echo/index;html
=============================================================
字符串拼接
假设:
var1=www.
var2=.com
[root@test ~]# echo $var1$var2
www..com
[root@test ~]# echo ${var1}$var2
www..com
[root@test ~]# echo ${var1}${var2}
www..com
[root@test ~]# echo ${var1}abc${var2}
www.abc.com
[root@test ~]# echo ${var1}abc${var2}.index.php
www.abc.com.index.php
[root@test ~]#
[root@test ~]# echo ${var1}abc${var2}/index.php
www.abc.com/index.php
[root@test ~]#