如何统计短语中'/'的出现次数?
如何统计短语中'/'的出现次数?
嘿,我来给你几个实用的方法解决这个问题!你提到的目标字符串是 /A/B/C/D/,要统计其中/的出现次数(结果为5),下面是几种常用的命令行工具实现方式:
使用awk的gsub函数
awk的gsub函数可以全局替换匹配的字符,并且会返回替换的次数,刚好就是我们要的字符出现次数:echo "/A/B/C/D/" | awk '{print gsub(/\//, "")}'这里
/\//是转义后的/(因为/是awk的正则分隔符,需要转义),把所有/替换为空字符串后,返回的替换次数直接就是5。使用grep+wc组合
用grep -o只输出每个匹配的/(每个占一行),再用wc -l统计行数,行数就是/的数量:echo "/A/B/C/D/" | grep -o "/" | wc -l这种方法很直观,一看就懂,适合快速验证。
使用tr计算长度差
先删除字符串里所有的/,然后用原字符串长度减去删除后的字符串长度,差值就是/的数量:target_str="/A/B/C/D/" echo $(( ${#target_str} - ${#$(echo $target_str | tr -d '/')} ))其中
${#target_str}用来获取字符串的长度,这个方法也能准确得到结果5。
备注:内容来源于stack exchange,提问作者Another.Chemist
相关产品推荐
相关产品推荐

