shell统计某个字符串最后一次出现的位置之前的所有字符串

Posted 雅冰石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell统计某个字符串最后一次出现的位置之前的所有字符串相关的知识,希望对你有一定的参考价值。

需求:

我想统计某个ip所属网段。

示例:

有一台服务器ip是192.168.144.249,我想统计到192.168.144这个网段。

方法一:

strToCheck='192.168.144.251'

letpos=`echo "$strToCheck" | cut -d '.' -f 1,2,3`

echo $letpos

结果为192.168.144

方法二较复杂些:

#先统计最后一个.在哪个位置

strToCheck='192.168.144.249'
charToSearch='.'
letpos=`echo "$strToCheck" | awk -F ''$charToSearch'' 'printf "%d", length($0)-length($NF)'`

#再统计该位置前面的字符串

echo $strToCheck:0:$letpos

结果192.168.144.

--本篇文章参考自:Shell脚本实现查找字符串中某字符最后出现的位置 / 张生荣

以上是关于shell统计某个字符串最后一次出现的位置之前的所有字符串的主要内容,如果未能解决你的问题,请参考以下文章

js怎样获取某个特殊字符最后出现的位置

js怎样获取某个特殊字符最后出现的位置

在某个字符的最后一次出现处拆分字符串

Linux Shell之统计某个字符串在文件中的出现次数

shell怎么查找子字符串出现的位置

C#统计一个字符在字符串中出现的次数