一·简介

提取文件名称或者目录,一般都会使用到#,##,%和%%,但是他们的区别很容易记混淆了。在一下4种方式中,目标匹配字符是不在结果中。

#:表示从左开始算起,并且截取第一个匹配的字符

##:表示从左开始算起,并且截取最后一个匹配的字符

%:表示从右开始算起,并且截取第一个匹配的字符

%%:表示从右开始算起,并且截取最后一个匹配的字符

二·例子

当前有一个文件名称为1_2_3_4.txt,把文件名称赋值给变量var

1.echo "${var#*_}"输出结果为:2_3_4.txt。此时从左开始截取第一个匹配上'_'的字符串,即1和随后的‘_’被截断了;

2.echo "${var##*_}"输出结果为:4.txt。此时从左开始截取最后一个匹配上'_'的字符串,即“1_2_3_”被截断了;

3.echo "${var%_*}"输出结果为:1_2_3。此时从右开始截取第一个匹配上'_'的字符串,即“_4.txt”被截断了;

4.echo "${var%%_*}"输出结果为:1。此时从右开始截取最后一个匹配上‘_’的字符串,即“_2_3_4.txt”被截断了

最新文章

  1. iOS UIPageViewController
  2. godaddy域名使用DNSPod做DNS解析图文教程
  3. 说说Timing这回事(转载)
  4. spring-mybatis jar下载地址
  5. System.DateTimeOffset 中新增的Unix 时间戳方法
  6. jQuery实现无缝滚动条
  7. DIY--主板跳线接法
  8. 使用正则表达式限制TextBox输入
  9. Ubuntu: 搭建tftp,nfs服务器
  10. 了解ASP.NET 5
  11. select函数的用法
  12. ThoughtWorks 2017技术雷达
  13. 【BZOJ3529】【SDOI2014】数表
  14. 题解-CodeForces835F Roads in the Kingdom
  15. java 子类父类相互转换
  16. day42
  17. RabbitMQ的安装和使用Python连接RabbitMQ
  18. spring的aop 基于schema
  19. X 开启新的 X window 服务器
  20. java Web中页面跳转方式之重定向和请求转发的区别

热门文章

  1. 【curl】Linux下命令行curl详解
  2. [Java反射基础三]方法反射的基本操作
  3. java JDBC链接sqlserver/mysql/oracle
  4. Css3新增背景属性
  5. docker镜像使用和总结
  6. Python入门-再谈编码
  7. 移动端h5开发相关内容总结css篇--笔记
  8. 如何让div覆盖canvas元素
  9. css flexbox 弹性布局
  10. 项目经验:GIS<MapWinGIS>建模第四天