使用 egrep 过滤 MAC 地址

简介: 【4月更文挑战第29天】

》》》》》魏红斌带你学shell脚本《《《《《


更多shell脚本学习点击个人主页


作为一个资深程序猿,我将带领您从零开始,一步步踏上运维之旅,无论您是否拥有现成的服务器,都将学会如何轻松购买、部署,并通过编写及应用精心设计的Shell脚本,解决实际工作中遇到的问题。这些脚本不仅源自真实的业务场景,经历了反复实践与严格测试,确保了其简洁高效、易于理解且便于使用。更重要的是,我们将全程免费分享,并深度解析背后原理,助您深入理解并灵活运用,每一款脚本均经过真实业务场景的反复打磨与严格测试,秉持着简洁高效、易于理解和使用的理念设计,无偿提供并且提供相关解析过程,让读者能更深入了解相关内容

无服务器的朋友们

让我们先从选购并部署服务器开始。只需简单三步,即可拥有您的专属云服务器:

  1. 访问ECS官网:点击链接直达阿里云ECS网站:ECS选择网址。这是您获取高质量云服务器的第一站。
  2. 选择并购买:在琳琅满目的服务器配置中,挑选符合您需求的那一款,一键下单,完成支付。整个过程犹如在线购物般便捷。
  3. 进入ECS控制台:支付成功后,您将被引导至ECS管理控制台。在这里,您可以全面掌控您的服务器资源,后续的所有运维操作都将在此展开。

已有服务器的朋友们

如果您已拥有ECS实例,那么请直接登录ECS管理控制台在左侧导航栏中,依次选择“实例与镜像” > “实例”,确保您已定位到目标资源所在的资源组和地域。接下来,在实例列表中找到待连接的实例,点击操作列下的“远程连接”,选择“通过Workbench远程连接”并点击“立即登录”。

登录实例

无论是新购还是已有服务器,接下来都需要进行实例登录。这里支持多种认证方式,以最常见的“密码认证”为例:

  • 输入用户名(通常为rootecs-user)。
  • 接着,输入登录密码。如果您忘记了密码,无需担忧,您可以在ECS实例详情页面查询,或者通过“更改密码”功能进行修改。

编写与运行Shell脚本

成功登录后,您将看到一个熟悉的命令行界面——这就是您的运维主战场。现在,键入vim test.sh,我们便进入了文本编辑模式,准备创建第一个Shell脚本。

按下键盘上的i键,进入插入模式,此刻您可以自由地复制粘贴今天要学习的脚本代码,粘贴后按ecs后,按:wq保存脚本,可以用./ test.sh或者sh test.sh进行脚本执行。

今天我们要学习的脚本是(脚本内容直接复制粘贴即可):

#!/bin/bash

# 使用 egrep 过滤 MAC 地址

# MAC 地址由 16 进制组成,如 AA:BB:CC:DD:EE:FF

# [0-9a-fA-F]{2}表示一段十六进制数值,{5}表示连续出现5组前置:的十六进制

egrep "[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}" $1

让我们一步步地解析这个脚本:

  1. #!/bin/bash:这是一个 shebang,它告诉系统这个脚本应该使用 /bin/bash shell 来执行。
  2. 注释部分:
bash# 使用 egrep 过滤 MAC 地址
# MAC 地址由 16 进制组成,如 AA:BB:CC:DD:EE:FF
# [0-9a-fA-F]{2}表示一段十六进制数值,{5}表示连续出现5组前置:的十六进制

这部分为脚本提供了简短的描述和解释,说明脚本的目的是使用 egrep 来过滤 MAC 地址,并解释了正则表达式是如何匹配 MAC 地址的。

  1. egrep 命令部分:
bashegrep "[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}" $1
* `egrep`:这是 `grep` 命令的一个变种,它使用扩展的正则表达式(ERE)来搜索文本。
* 正则表达式 `"[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}"`:这个正则表达式是为了匹配标准的 MAC 地址格式。
    + `[0-9a-fA-F]{2}`:匹配两个十六进制字符(可以是 0-9、a-f 或 A-F)。
    + `(:[0-9a-fA-F]{2}){5}`:匹配一个冒号 `:` 后跟两个十六进制字符,这个组合需要连续出现 5 次。
* `$1`:这是脚本的第一个参数,代表要搜索的文件名。脚本期望用户提供一个文件名作为参数,然后 `egrep` 命令会在这个文件中搜索匹配的 MAC 地址。

总的来说,这个脚本的目的是在指定的文件中搜索并过滤出所有符合 MAC 地址格式的字符串。如果你运行这个脚本并传递一个文件名作为参数,它会输出文件中所有匹配 MAC 地址格式的行。

如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!

入口:新老同学免费试用

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
弹性计算 运维 Shell
使用egrep 过滤MAC 地址
【4月更文挑战第29天】
62 0
|
2月前
|
NoSQL 数据可视化 Redis
Mac安装Redis
Mac安装Redis
60 3
|
1月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
2月前
|
数据安全/隐私保护 iOS开发 MacOS
Mac安装Navicat Premium 16.3.5
Mac安装Navicat Premium 16.3.5
206 3
|
12天前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
48 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
14天前
|
IDE 开发工具 iOS开发
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
本篇将详细介绍如何在Mac系统上安装Python,并配置Python开发环境。内容涵盖Python的安装、pip包管理工具的配置与国内镜像源替换、安装与配置PyCharm开发工具,以及通过PyCharm编写并运行第一个Python程序。通过本篇的学习,用户将完成Python开发环境的搭建,为后续的Python编程工作打下基础。
136 2
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
|
15天前
|
iOS开发 MacOS Python
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
本篇将详细介绍如何在Mac系统上安装Typora这款简洁高效的Markdown编辑器,并学习Markdown常用语法。通过本篇,用户能够准备好记录学习笔记的工具,并掌握基本的文档编辑与排版技巧,为后续学习提供便利。
128 1
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
|
6天前
|
NoSQL Shell MongoDB
Mac OSX 平台安装 MongoDB
10月更文挑战第11天
15 4
|
8天前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
22 0
Mac os 安装 nginx 教程(success)
|
1月前
|
项目管理 Python
如何在Mac上安装多个Python环境
在你的Mac上使用多个Python环境可以对项目管理很有帮助,特别是在同时处理不同Python版本或不同的包需求时。在这篇文章中,我们将向你展示如何在Mac上轻松地安装和管理多个Python环境。
43 5
 如何在Mac上安装多个Python环境