文档章节

Shell脚本8种字符串截取方法总结

pior
 pior
发布于 2016/11/23 13:34
字数 455
阅读 25
收藏 0

Linux 的字符串截取很有用。有八种方法。

假设有变量 var=http://www.aaa.com/123.htm.

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

echo ${var#*//}

其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.aaa.com/123.htm

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

echo ${var##*/}

##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/

结果是 123.htm

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

echo ${var%/*}

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

结果是:http://www.aaa.com

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

echo ${var%%/*}

%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:

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

echo ${var:0:5}

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

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

echo ${var:7}

其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.aaa.com/123.htm

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

echo ${var:0-7:3}

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

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

echo ${var:0-7}

表示从右边第七个字符开始,一直到结束。
结果是:123.htm

注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

本文转载自:

共有 人打赏支持
pior
粉丝 26
博文 151
码字总数 22496
作品 0
济南
高级程序员
私信 提问
linux基础-总结题 (每日更新)

1,如何找出/usr/local 下面所有shell脚本文件,并设置执行权限? 解答: chmod + x 2,如何通过端口查找出进程所在目录? 解答: ss -lntup|grep 端口号 3,常用的磁盘raid有哪些?描述下原理...

邱月涛
2017/07/29
0
0
Linux-shell脚本字符串截取方法

  前言   在Linux shell编程中,我们经常需要截取某个字符串来,继续操作,比如:截取日期来创建整分钟的目录之类的。      字符截取   测试字符串   var=1234567890abcedef1203...

linux运维菜
2018/07/19
0
0
linux运维实战练习-2015年9月13日-9月15日课程作业

一、作业(练习)内容: 1、描述shell程序的运行原理(可附带必要的图形说明); 2、总结shell编程中所涉及到的所有知识点(如:变量、语法、命令状态等等等,要带图的哟); 3、总结课程所讲...

xjxiaolei
2015/09/23
0
0
Shell脚本入门-3

Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.aaa.com/123.htm 1. # 号截取,删除左边字符,保留右边字符。 其中 var 是变量名,# 号是运算符,// 表示从左边开始删除...

Avner
2018/03/07
0
0
Shell编程(一)- shell脚本介绍,date命令,shell变量,字符串处理,颜色

[toc] shell编程 一、shell 脚本介绍 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 shell是一种脚本语言; 可以使用逻辑判...

夏为的Linux
01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
1
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部