六.Shell之字符串高级用法(expr)

六.Shell之字符串高级用法(expr),第1张

Shell中对 字符串处理命令 主要有两种,一种为前面Shell三剑客之一的 awk ,另一种为即将介绍的 expr 。

格式

Demo:

索引并不是完全匹配

格式:

分情况进行讨论:

匹配成功返回substring的长度,匹配不成功返回0,可以使用正则表达式(不是通配符)

格式:

分情况进行讨论:

格式:

Demo:

格式:

删除在开头匹配的最短子串

删除在开头匹配的最长子

删除在结尾匹配的最短子串

删除在结尾匹配的最长子串

格式:

仅替换第一次与substring匹配的子串

替换所有的与substring匹配的子串

从效率来说let==$(()) >expr >bc,这个是绝对的。

let和$(())运行是内建命令,使用相同的算法。

expr和bc是外部程序,expr的体积几乎等于bc的1/3,执行一次装入内存所消耗的时间就不一样。

从运算能力来说,自然bc排第一位。

其实还有awk,能更好的执行基本运算、汇总、求平均等更复杂的。而且还可以使用数组、哈希表。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11273977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存