当前位置: 首页 > java >正文

shell脚本实现字符串子网掩码转为位数

在系统配置里,有时需要脚本完成子网掩码到位数的转换,如下shell脚本可以实习这个功能

#!/bin/shsubnet_mask_to_cidr() {local subnet_mask="$1"local cidr=0# 将子网掩码的每个部分转换为二进制,并计算1的个数for octet in $(echo "$subnet_mask" | tr '.' ' '); do                        #将点转换为空格,然后用for循环处理binary=$(printf "%08d" $(echo "obase=2;$octet" | bc))         #将十进制转换为2进制cidr=$((cidr + $(echo -n "$binary" | tr -d '0' | wc -c))) 	           #去掉二进制数据串中的0并累加1的个数doneecho "$cidr"
}# 示例用法
subnet_mask="255.255.255.192"
cidr=$(subnet_mask_to_cidr "$subnet_mask")
echo "CIDR: $cidr"

运行结果:

# ./test.sh 
CIDR: 26
http://www.xdnf.cn/news/9754.html

相关文章:

  • mqtt协议连接阿里云平台
  • 基于多模态脑电、音频与视觉信号的情感识别算法【Nature核心期刊,EAV:EEG-音频-视频数据集】
  • Deepseek应用技巧-Dify本地化搭建合同审批助手
  • Delphi 导入excel
  • 【东枫科技】KrakenSDR 测向快速入门指南
  • Vision Transformer网络结构
  • 【穷举】数字方格
  • 文件系统与文件管理:从磁盘到内核的全链路解析
  • 高效工具-tldr
  • 网络安全的守护者:iVX 如何构建全方位防护体系
  • 镍钯金PCB有哪些工艺优势?
  • 五、web安全--XSS漏洞(2)--XSS相关payload
  • 《Discuz! X3.5开发从入门到生态共建》第3章 Discuz! X3.5 核心目录结构解析-优雅草卓伊凡
  • Parsel深度解析:从入门到高阶的网页数据抓取艺术
  • python同步mysql数据
  • WPS 免登录解锁编辑
  • 安全访问 std::tuple 的容错方法及气象领域应用
  • R3GAN利用配置好的Pytorch训练自己的数据集
  • Vue-Router中的三种路由历史模式详解
  • MCP入门实战(极简案例)
  • eNSP企业综合网络设计拓扑图
  • linux有效裁剪视频的方式(基于ffmpeg,不改变分辨率,帧率,视频质量,不需要三方软件)
  • 挖洞日记 | Js中的奇妙旅行
  • AXI 协议补充(二)
  • 从本地到云端:Code App+SSH协议在iPad开发中的性能优化实战
  • VLC-QT 网页播放RTSP
  • 6个月Python学习计划 Day 8 - Python 函数基础
  • 闲鱼到淘宝商品同步的技术实现原理与局限
  • Linux基础开发工具
  • SCL语言两台电机正反转控制程序从选型、安装到调试全过程的详细步骤指南(下)