IP地址乱成一团?用Shell一键搞定!

在日常的运维工作中,我们经常需要对各种数据进行处理和分析,其中包括对IP地址的管理和排序。排序后的IP地址列表可以帮助我们更好地进行日志分析、网络流量监控和故障排除。 本文将模拟一个运维场景,展示如何对IP地址进行排序,并探讨其应用。

场景描述

假设我们在公司负责管理多个服务器和网络设备。这些设备分布在不同的地理位置,并且它们的IP地址分配并不连续。在某次安全审计中,我们需要将所有设备的IP地址进行整理和排序,以便于后续的分析和报告。我们收集到了以下IP地址列表:

10.184.34.10
33.46.4.10
193.232.67.195
3.252.10.92
83.119.149.68
83.91.145.234
35.185.72.151
184.142.237.167
103.187.9.50
217.40.57.147

编写Shell脚本

我们可以编写一个简单的Shell脚本,使用sort命令对IP地址进行排序。sort命令默认是按照字典顺序进行排序的,这对于IP地址来说并不是我们想要的结果。因此,我们需要使用sort的-n选项,按照数值进行排序。
以下是Shell脚本sort_ips.sh的内容:

#!/bin/bash

# 定义输入和输出文件
input_file="/mnt/data/ip.txt"
output_file="/mnt/data/sorted_ip.txt"

# 对IP地址进行排序并保存到输出文件
sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 $input_file > $output_file

# 输出排序后的IP地址
cat $output_file
  • sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4:-n选项表示按数值排序,
    • -t .:表示以.为分隔符,
    • -k 1,1 -k 2,2 -k 3,3 -k 4,4:表示分别对IP地址的四个部分进行排序。
    • $input_file:输入文件。
  • $output_file:将排序结果保存到输出文件。
  • cat $output_file:显示排序后的IP地址。

运行Shell脚本

chmod +x sort_ips.sh
./sort_ips.sh

运行脚本之前先给脚本文件赋予执行的权限。

排序结果

运行脚本后,sorted_ip.txt文件的内容如下:

总结

通过这个示例,我们展示了如何使用Shell脚本对IP地址进行排序。这种方法不仅可以应用于网络管理中的IP地址排序,还可以扩展到其他需要排序的文本数据处理任务中。Shell脚本的灵活性和强大功能使其成为系统运维和数据处理中的一把利器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/704296.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mongodb使用$pop删除数组中的元素

学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第67篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题,欢迎在文章下面点个赞,或者关…

编译和连接

目录1. 翻译环境和运行环境2. 翻译环境:预编译编译汇编链接1. 翻译环境和运行环境 在ANSI C 的任何一种实现中,存在两个不同环境。 (1) 翻译环境,在这种环境中源代码被转换为可执行的机器指令(二进制指令)。 (2) 执行环境,它用于实际执行的代…

PostgreSQL 多表连接不同维度聚合统计查询

摘要:在本文中,你将学习到如何使用 PostgreSQL 完全外连接,从两个或多个表中聚合维度统计数据。 文章目录 一、常用的连接类型图示二、数据库表设计示例三、连接查询示例1. inner join 内连接(不能满足维度统计需求)2. full join 完全外连接(满足维度统计需求)一、常用的…

Golang免杀-分离式加载器(传参)AES加密

目录 enc.go 生成: dec.go --执行dec.go...--上线 cs生成个c语言的shellcode. enc.go go run .\enc.go shellcode 生成: --key为公钥. --code为AES加密后的数据, ----此脚本每次运行key和code都会变化. package mainimport ("bytes""crypto/aes"&…

java1.8运行arthas-boot.jar运行报错解决

报错内容 输入java -jar arthas-boot.jar,后报错。 [INFO] JAVA_HOME: D:\developing\jdk\jre1.8 [INFO] arthas-boot version: 3.7.2 [INFO] Can not find java process. Try to run jps command lists the instrumented Java HotSpot VMs on the target system.…

Spring Boot集成antlr实现词法和语法分析

1.什么是antlr? Antlr4 是一款强大的语法生成器工具,可用于读取、处理、执行和翻译结构化的文本或二进制文件。基本上是当前 Java 语言中使用最为广泛的语法生成器工具。Twitter搜索使用ANTLR进行语法分析,每天处理超过20亿次查询&#xff1…

20240612在飞凌的OK3588-C开发板的linux系统下测试以太网

20240612在飞凌的OK3588-C开发板的linux系统下测试以太网 2024/6/12 17:56 欢迎您入坑飞凌的OK3588-C开发板,使用飞凌的预编译的固件:OK3588-linuxfs-img.tar.bz2 Z:\rockdev\update.img tar jxvf OK3588-linuxfs-img.tar.bz2 首先,刷Android…

自己用pip下载好模块啦,但是在pycharm里面不显示?

问题: 今天在cmd里面用pip命令安装第三方模块,最后用pip list 命令发现已经成功安装,但是在pycharm里面用该模块的时候,还是爆红,显示没有该库 。 解决方法: 第一种(项目刚创建)&am…

虚拟声卡实现音频回环

虚拟声卡实现音频回环 一、电脑扬声器播放声音路由到麦克风1. Voicemeeters安装设置2. 音频设备选择 二、回声模拟 一、电脑扬声器播放声音路由到麦克风 1. Voicemeeters安装设置 2. 音频设备选择 以腾讯会议为例 二、回声模拟 选中物理输入设备“Stereo Input 1”和物理输出设…

GUI listbox

GUI listbox (自用笔记) 功能details拆分 同时打开多个文件,可以是不同类型的,在listbox中显示出路径和文件名; 计算每个数据文件(.txt或.dat)掉帧出现的行数,存储到元胞数组&…

Vue10-事件修饰符

一、示例&#xff1a;<a>标签不执行默认的跳转行为 1-1、方式一 <a href"http://www.baidu.com" onclick"event.preventDefault();">点击我</a> 1-2、方式二 1-3、方式三&#xff1a;事件修饰符 二、Vue的六种事件修饰符 2-1、prevent&…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 6月13日,星期四

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年6月13日 星期四 农历五月初八 1、 财政部&#xff1a;将在19日第一次续发行2024年20年期超长期特别国债。 2、 成本低&#xff0c;商载高&#xff0c;我国自主研制HH-100商用无人运输机首飞成功。 3、 四川甘孜州石渠县1…

Mongodb在UPDATE操作中使用$pull操作

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第68篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…

网站线上模板建设的优缺点

优点&#xff1a; 1.搭建的时间短&#xff0c;在线建站&#xff0c;只需要登录注册然后选择网站模板创建网站即可管理自己的网站后台&#xff0c;就几步操作就可以实现。 2.网站出错率少&#xff0c;因为有很多用户在使用&#xff0c;前期所报出来的问题就已经一一…

PHP开发的爱情盲盒交友系统网站源码

源码介绍 PHP开发的爱情盲盒交友系统网站源码 独立后台 源码截图 源码下载 PHP开发的爱情盲盒交友系统网站源码

【Tkinter界面】Canvas 图形绘制(03/5)

文章目录 一、说明二、画布和画布对象2.1 画布坐标系2.2 鼠标点中画布位置2.3 画布对象显示的顺序2.4 指定画布对象 三、你应该知道的画布对象操作3.1 什么是Tag3.2 操作Tag的函数 https://www.cnblogs.com/rainbow-tan/p/14852553.html 一、说明 Canvas&#xff08;画布&…

【高频】从准备更新一条数据到事务的提交的流程描述

一、相关问题 SQL语句是如何被MySQL解析和分析的?MySQL是如何为SQL语句生成最优的执行计划的?执行计划的各个步骤是如何一步步执行的?MySQL是如何访问存储引擎得到数据的&#xff1f;MySQL是如何将查询结果返回给客户端的?MySQL是如何处理事务的&#xff1f; 参考回答&am…

【Spine学习01】之基本操作

Spine简单讲就是做动画的&#xff0c;跟PS配合使用 左键单击选择 双颊取消选择 右键移动视图 右键单击移动变换 crtly重做 c 旋转 v 移动 x 缩放 z 倾斜 教程看的是B站的断断子老师&#xff0c;这个专栏用来放的是本人的学习笔记。

如何对stm32查看IO功能。

有些同学对于别人的开发板的资源&#xff0c;或者IO口&#xff0c;或者串口等资源不知道怎么分配。 方法1、看硬石、野火、正点原子的开发板&#xff0c;看下他们的例子&#xff0c;那个资源用什么。自己多看几个原理图&#xff0c;多看几个视频&#xff0c;做一下笔记。以后依…

【ARM Coresight Debug 系列 -- ARMv8/v9 Watchpoint 软件实现地址监控详细介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 ARMv8/v9 Watchpoint exceptionsWatchpoint 配置信息读取Execution conditionsWatchpoint data address comparisonsSize of the data accessWatchpoint 软件配置流程Watchpoint Type 使用介绍WT, Bit [20]: Watchpoint TypeLBN, B…