博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

Linux 的字符串截取

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

[root@localhost shell]# url=https://i.cnblogs.com/EditPosts.aspx?opt=1
[root@localhost shell]# echo ${url#*//}
i.cnblogs.com/EditPosts.aspx?opt=1
[root@localhost shell]# 

  

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

即删除 http://

 

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

[root@localhost shell]# echo ${url##*/}
EditPosts.aspx?opt=1
[root@localhost shell]# 

  

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

即删除 https://i.cnblogs.com/

 

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

[root@localhost shell]# echo ${url%.*}
https://i.cnblogs.com/EditPosts
[root@localhost shell]# 

  

%.* 表示从右边开始,删除第一个.号及右边的字符

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

[root@localhost shell]# echo ${url}
https://i.cnblogs.com/EditPosts.aspx?opt=1
[root@localhost shell]# echo ${url%%.*}
https://i
[root@localhost shell]# 

  

%%.* 表示从右边开始,删除最后(最左边)一个 .号及右边的字符

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

[root@localhost shell]# echo ${url:0:5}
https
[root@localhost shell]# 

  

其中的 0 表示左边第一个字符开始,5 表示字符的总个数。

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

[root@localhost shell]# echo ${url:7}
/i.cnblogs.com/EditPosts.aspx?opt=1
[root@localhost shell]# 

  

其中的 7 表示左边第8个字符开始,一直到结束。

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

[root@localhost shell]# echo ${url:0-7:3}
x?o
[root@localhost shell]# echo ${url: -7:3}
x?o
[root@localhost shell]# 

  

其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。

注意:第二个命令0换成空格了,如果没有空格就是word-7

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

[root@localhost shell]# echo ${url: -7}
x?opt=1
[root@localhost shell]# echo ${url: 7}
/i.cnblogs.com/EditPosts.aspx?opt=1
[root@localhost shell]# echo ${url:7}
/i.cnblogs.com/EditPosts.aspx?opt=1
[root@localhost shell]# 

  

表示从右边第七个字符开始,一直到结束。

"-"代表从右开始;不加"-"从左开始

 ${变量名^^}替换为大写

 ${变量名,,}替换为小写

 tr 替换大小写

 tr [:lower:] [:supper:]<filename

 变量1=${变量名2:-word}:变量2没有值,将word赋值给变量2

posted @ 2019-08-20 15:10  【Abel】  阅读(2714)  评论(0编辑  收藏  举报