Linux 的字符串截取

Posted abels0025

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]# 

  

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

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

以上是关于Linux 的字符串截取的主要内容,如果未能解决你的问题,请参考以下文章

linux 中如何截取2个字符串中间的字符?

linux如何截取指定字符串行前后N行的数据

Linux下实现字符串截取方法总结

Linux下字符串的截取

linux 截取变量字符串

Linux字符串截取和处理命令 cutprintfawksedsortwc