Shell中对 字符串处理命令 主要有两种,一种为前面Shell三剑客之一的 awk ,另一种为即将介绍的 expr 。
格式:
Demo:
索引并不是完全匹配
格式:
分情况进行讨论:
匹配成功返回substring的长度,匹配不成功返回0,可以使用正则表达式(不是通配符)
格式:
分情况进行讨论:
格式:
Demo:
格式:
删除在开头匹配的最短子串
删除在开头匹配的最长子串
删除在结尾匹配的最短子串
删除在结尾匹配的最长子串
格式:
仅替换第一次与substring匹配的子串
替换所有的与substring匹配的子串
从效率来说let==$(()) >expr >bc,这个是绝对的。let和$(())运行是内建命令,使用相同的算法。
expr和bc是外部程序,expr的体积几乎等于bc的1/3,执行一次装入内存所消耗的时间就不一样。
从运算能力来说,自然bc排第一位。
其实还有awk,能更好的执行基本运算、汇总、求平均等更复杂的。而且还可以使用数组、哈希表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)