Linux Shell 截取字符串
shell中截取字符串的方法很多
${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var:start} ${var:0-start:len} ${var:0-start}
下面用几个例子展示一下:
1) 获得字符串的长度
语法:
${#var}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"length=${#str} echo "length : [${length}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] length : [61]
2) 使用 # 和 ## 获取尾部子字符串
2.1) # 最小限度从前面截取word
语法:
${parameter#word}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"#分割符为'/' substr=${str#*/} echo "substr : [${substr}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] substr : [/www.fengbohello.xin3e.com/blog/shell-truncating-string]
2.2) ## 最大限度从前面截取word
语法:
${parameter##word}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"#分割符为'/' substr=${str##*/} echo "substr : [${substr}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] substr : [shell-truncating-string]
3) 使用 % 和 %% 获取头部子字符串
3.1) % 最小限度从后面截取word
语法:
${parameter%word}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"substr=${str%/*} echo "substr : [${substr}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] substr : [http://www.fengbohello.xin3e.com/blog]
3.2) %% 最大限度从后面截取word
语法:
${parameter%%word}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"substr=${str%%/*} echo "substr : [${substr}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] substr : [http:]
4)使用 ${var:} 模式获取子字符串
4.1) 指定从左边第几个字符开始以及子串中字符的个数
语法:
${var:start:len}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"#其中的 0 表示左边第一个字符开始,7 表示子字符的总个数。 substr=${str:0:7} echo "substr : [${substr}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] substr : [http://]
4.2) 从左边第几个字符开始一直到结束
语法:
${var:7}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"#其中的 7 表示左边第8个字符开始 substr=${str:7} echo "substr : [${substr}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] substr : [www.fengbohello.xin3e.com/blog/shell-truncating-string]
4.3) 从右边第几个字符开始以及字符的个数
语法:
${var:0-start:len}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"#其中的 0-23 表示右边算起第23个字符开始,5 表示字符的个数 substr=${str:0-23:5} echo "substr : [${substr}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] substr : [shell]
4.4) 从右边第几个字符开始一直到结束
语法:
${var:0-start}
示例代码:
str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string" echo "string : [${str}]"#其中的 0-6 表示右边算起第6个字符开始 substr=${str:0-6} echo "substr : [${substr}]"
执行结果:
string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string] substr : [string]
转载于:https://www.cnblogs.com/kakaisgood/p/11375570.html
Linux Shell 截取字符串相关推荐
- linux 提取字符串一部分,Linux Shell 截取字符串的方法示例
shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var:start} ${var:0-sta ...
- linux shell 截取 第一个位置到最后一个冒号的数据,[shell]截取字符串
@H_404_0@ shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parame ...
- shell截取字符串方法
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...
- shell截取字符串的8种方法
参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...
- Linux shell去除字符串中所有空格
Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g' 转载于:https://www.cnblogs.com/yjd_hycf_space/p/9839494. ...
- linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
- Linux shell 的字符串截取
Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} ...
- linux 正则截取字符串,Linux的Shell脚本——day4——字符串截取、正则
零散知识点 ftp操作: ftp 服务器IP 连接ftp,可以进行交互操作 注意搭建ftp服务是vsftpd,要区别 特殊的一个常用 ${#变量} 统计变量的长度位数 脚本中对一个文件进行撰写 c ...
- linux 怎么截取字符串,Linux中截取字符串
第一种 ${parameter%word} #最小限度从后面截掉word ${parameter%%word} #最大限度从后面截掉word ${parameter#word} #最小限度从前面截掉w ...
最新文章
- 第十六届智能车竞赛参赛队伍提问-6-11
- 【Greenplum异常】数据库报错 could not create temporary file No space left on device(求解决)
- Spring MVC - Hello World示例
- 理想的 ASP.NET AJAX (Part 1 - Client Centric)
- React开发(133):ant design学习指南之form中input加前缀
- linux CentOS7 最小化安装环境静默安装Oracle11GR2数据库(安装操作系统环境_01)
- http 访问mysql数据库_04.Http协议之GET请求与访问MySQL数据库
- ubuntu如何解压.tar.gz
- mysql 最小值对应的其他属性_查询最小值对应的非group by字段
- macos 10.15.2 iso镜像网盘下载
- 笔记本连接android手机屏幕,实现手机、电脑屏幕共享的7个步骤
- Meltdown攻击
- 基于JSP(java)网络百宝箱的设计和实现(含源文件)
- HMI-51-【多媒体】搞地图 1
- Android监听消息(一)——应用消息捕获
- selenium源码通读·12 |webdriver/remote分析
- 计算机图形学(三种画线算法)
- 计算机房里面味道很大,搞笑段子:我负责单位的计算机房,同事的计算机有问题来向我讨教...
- 牛客小白月赛24 J—建设道路
- gitlab邮件发不出去解决方法
热门文章
- python windows系统调用_python日记第四章:python用os和sys模块进行系统调用
- 初识python教学反思_[python第一课]初识python
- 卖任小龙java视频,任小龙Java大神之路(第九季 SpringMVC)视频教程叩丁狼教育出品...
- hbuilder入门之基本配置(php)
- python【数据结构与算法】棋盘覆盖问题
- 机器学习(MACHINE LEARNING)灰色关联分析(GRA)
- HDU 2037 今年暑假不AC【贪心】
- java集群调度_Cuckoo-Schedule
- mysql 修改配置生效_linux下面MySQL变量修改及生效
- 718保时捷spyder_我要买保时捷718 Spyder的原因:新手也可以玩手动