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

本文介绍了两种Shell脚本方法来获取IP地址的网段部分。方法一是通过`cut`命令直接提取前三个部分;方法二是利用`awk`找出最后一个`.`的位置并截取前面的字符串。这两种方法适用于需要快速统计IP网段的场景。
摘要由CSDN通过智能技术生成

需求:

我想统计某个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脚本实现查找字符串中某字符最后出现的位置 / 张生荣

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值