bash的内置字符串处理工具
bash内置字符串处理工具:
1、字符串切片:
${var:offset:number} 取字符串的子串;
${var: -length} 取字符串的最右侧的length个字符。注意:冒号右侧必须有一个空白字符。
演示:
2、基于模式取子串:
${var#*word}:其中word是指定的分割符,功能:自左而右,查找var变量所存储的字符串中,第一次出现的word分隔符,删除字符串开头至此分隔符之间(包括分隔符本身)的所有字符;
${var##*word}:其中word是指定的分隔符;功能:自左而右,查找var变量所存储的字符串中,最后一次出现的word分隔符,删除字符串开头至此分隔符之间(包括分隔符本身)的所有字符;
演示:
如果是对路径进行分割的话,最后一个例子相当于取一个绝对路径的基名。
${var%word*}:其中word是指定的分隔符;功能:自右而左,查找var变量所存储的字符串中,第一次出现的word分隔符,删除此分隔符至字符串尾部之间(包括分隔符本身)的所有字符。
${var%%word*}:其中word是指定的分隔符;功能:自右而左,查找var变量所存储的字符串中,最后一次出现的word分隔符,删除此分隔符至字符串尾部之间(包括分隔符本身)的所有字符。
演示:
3、查找替换
${var/PATTERN/SUBSTI}:查找var所表示的字符串中,第一次被PATTERN所匹配到的字符串,将其替换为SUBSTI所表示的字符串;
${var//PATTERN/SUBSTI}:查找var所表示的字符串中,所有被PATTERN所匹配到的字符串,并将其全部替换为SUBSTI所表示的字符串;
演示:
${var/#PATTERN/SUNSTI}:查找var所表示的字符串中,行首被PATTERN所匹配到的字符串,将其替换为SUBSTI所表示的字符串;
${var/%PATTERN/SUBSTI}:查找var所表示的字符串中,行尾被PATTERN所匹配到的字符串,将其替换为SUBSTI所表示的字符串。
注意:PATTERN中要是有glob风格和通配符。
演示
支持使用glob风格的通配符
4、查找删除
${var/PATTERN}:以PATTERN为模式从头部自左而右开始查找var字符串中第一次被匹配之间出现的全部字符,并删除之。
${var//PATTERN}:以PATTERN为模式从头部自左而右开始查找var字符串中最后一次被匹配之间出现的全部字符,并删除之
${var/#PATTERN}:以PATTERN为模式,在var字符串中匹配行首出现的PATTERN字符,并删除之
${var/%PATTERN}:以PATTERN为模式,在var字符串中匹配行尾出现的PATTERN字符,并删除之
演示:
5、字符大小写转换
${var^^}:把var中的所有小写字符转换为大写
${var,,}:把var中的所有大写字符转换为小写。
演示:
6、变量赋值
${var:-VALUE}:如果var变量为空,或未设置,那么返回VALUE;否则,则返回var变量的值。
${var:=VALUE}:如果var变量为空,或未设置,那么返回VALUE,并将VALUE赋值给var变量;否则,则返回var变量的值。
${var:+VALUE}:如果var变量不为空,则返回VALUE;如果var变量为空,则返回为空。
${var:?ERROR_INFO}:如果var不为空,或未设置,那么返回ERROR_INFO为错误提示;否则,返回var值。
演示:
相关文章
- 6 款好用到爆的 JSON 处理工具,极大提高效率!
- 数仓工具—Hive语法之collect_set 和 collect_list(17)
- 实战演练 | Navicat Charts Creator 数据可视化工具
- 怎样使用linux的iptables工具进行网络共享
- Linux 命令行工具使用小贴士及技巧(一)
- CogDistanceLineEllipseTool 几何测量工具
- CogCreateLinePerpendicularTool工具
- ubuntu 18.04上执行buildman安装了交叉工具链之后编译报错"aarch64-linux/7.3.0/cc1: error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory"如何处理?
- SQLmap工具常用命令
- 文件哈希审计工具md5deep/hashdeep
- CTF隐写工具stegpy的安装及使用(破解图片有惊喜)
- NSDate 工具
- 推荐免费小巧图片大小处理工具--Image Resizer for Windows
- LINUX普通猫的拔号工具介绍
- 《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构》——2.4 网络探测和安全审核工具nmap
- Eclipse工具使用笔记
- Linux 系统监控工具 atop
- 万能的JDBC工具类。通过反射机制直接简单处理数据库操作
- 浅析如何实现根据图片自动切换背景色功能:提取图片主题色方案探索 - CSS提取(filter: blur + transform: scale)、Color Thief 工具库提取、对象存储的智能多媒体服务提供图片处理功能
- Java虚拟机:性能监控与故障处理工具
- java实现request请求参数转map工具类
- Android消息机制——时钟显示和异步处理工具类(AsyncTask)
- Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有
- 大数据预测未来:互动可视化预测工具为你“算命”
- 版本控制工具 SVN 常用 还原项目
- SpringBoot项目使用hutool工具进行HttpClient接口调用的处理(文件上传)