把ip地址转换为二进制的bash脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 几个关键点:<br>#
# tr 替换字符串
# 循环遍历ip的每一位
# echo 指明 编码类型为二进制, 然后借助 bc 计算二级制的值
# TODO 从循环到awk的管道 没完全理解
# awk printf 的格式表示 为每个8为的二进制比特位前面加上"."
# "cut -c 2-" 表示 "Cut out everything from the 2rd character to the end of each line"
 
function ip2binary() {
  if [ $# -eq 0 ]; then
    echo "example";
    echo "ip_2_binary 192.168.31.178";
    echo "11000000.10101000.00011111.10110010";
    return 1;
  fi
 
  local ip=$1
 
  for i in $(echo ${ip} | tr '.' ' '); do
    echo "obase=2 ; $i" | bc;
  done | awk '{printf ".%08d", $1}' | cut -c 2-
}

  ref: https://stackoverflow.com/questions/4042601/unixhow-to-convert-ip-address-to-binary-code

posted @   什么能让我为谁停留  阅读(216)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
点击右上角即可分享
微信分享提示