首页 > 系统相关 >Shell系列(2)正则表达式、awk与sed用法

Shell系列(2)正则表达式、awk与sed用法

时间:2024-11-08 22:21:12浏览次数:6  
标签:选项 Shell 正则表达式 Unix sed awk 指令

一、正则表达式

正则表达式(Regular Expression,简称 regex 或 regexp)是一种强大的文本处理工具,用于搜索、替换、检索或校验符合特定模式的文本。正则表达式由一系列字符组成,这些字符可以是普通字符(如字母、数字等)或特殊字符(称为元字符),它们定义了搜索模式。

1、基本正则与扩展正则列表

 2、正则表达式匹配练习

二、 sed表达式

sed(stream editor)是一个强大的文本处理工具,用于对文本数据进行过滤和转换。它在 Unix 和类 Unix 系统中广泛使用,并且是 Linux 和其他 Unix-like 系统的标准工具之一。

1、sed基本用法

2、sed命令的常用选项:

-n(屏蔽默认输出,默认sed会输出读取文档的全部内容)

-r(支持扩展正则)

-i(修改源文件)

  • 条件可以是行号或者/正则/,没有条件时默认为所有行都执行指令
  • 指令可以是p输出、d删除、s替换

sed匹配练习:

 sed工具的p、d、s操作指令案例集合

 sed综合脚本应用

1)编写脚本,搭建httpd服务,用82号端口开启服务:

2)编写脚本,找到使用bash作登录Shell的本地账户名,列出这些账户的shadow密码记录,按每行“账户名 --> 密码记录”保存到文件中:

二、 AWK表达式

AWK 是一种编程语言,专为文本处理和数据分析而设计。它是一个强大的工具,用于在 Unix 和类 Unix 系统中进行模式扫描和处理语言。AWK 的名称来源于其创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的姓氏首字母。

1、awk基本用法

 2、awk命令的常用选项:

1)基本操作方法

格式1:awk [选项] '[条件]{指令}' 文件

格式2:前置指令 | awk [选项] '[条件]{指令}'

其中,print 是最常用的编辑指令;若有多条编辑指令,可用分号分隔。

Awk过滤数据时支持仅打印某一列,如第2列、第5列等。

处理文本时,默认将空格、制表符作为分隔符。

条件可以用/ /的方式,与sed类似

awk常用内置变量:

 

2、awk处理条件:

awk会逐行处理文本,支持在处理第一行之前做一些准备工作,以及在处理完最后一行之后做一些总结性质的工作。在命令格式上分别体现如下:

1)awk [选项] '[条件]{指令}' 文件

2)awk [选项] 'BEGIN{指令} {指令} END{指令}' 文件

  • BEGIN{ } 行前处理,读取文件内容前执行,指令执行1次

  • { } 逐行处理,读取文件过程中执行,指令执行n次

  • END{ } 行后处理,读取文件结束后执行,指令执行1次

sed综合脚本应用

编写shell脚本,利用awk截取系统各种信息,如CPU的15分钟平均负载、网卡接收流量信息、内存与硬盘剩余空间大小、账户数量等,并每隔3秒循环显示一次

标签:选项,Shell,正则表达式,Unix,sed,awk,指令
From: https://blog.csdn.net/xialu_gogogo/article/details/143623191

相关文章

  • COMP2211A small shell interface
    Chapter5Week4:CreatingasmallshellinterfaceYoumustsubmityourworktotheappropriatesubmissionpointinGradescope,whichwillbeautomaticallymarked.Youshouldsubmitasinglefilecalledmy_shell.c.Anyotherfilesyousubmitwillnotbema......
  • 第二周学习笔记Linux:Linux用户权限管理 |文本处理|shell基础
    用户权限命令以及ACL权限相关命令1.Linux安全模型资源分派:Authenticaton:登陆认证,验证用户身份Authorization:授权,不同的用户设置不同权限Accouting:审计,检查用户的时候行为即Linux的AAA认证,是针对网络设备的网络访问控制策略和安全模型1用户Linux是多系统用户,可以......
  • Shell概述、编写及执行脚本、Shell变量+数值运算
    一、shell基本介绍 1.1 什么是shell◆ 在Linux内核与用户之间的解释器程序◆通常指/bin/bash◆负责向内核翻译及传达用户/程序指令◆相当于操作系统的“外壳”1.2 shell使用方式◆交互式 ——命令行-----人工干预、智能化程度高-----逐条解释执行、效率......
  • 监控 Windows 更新补丁安装过程中的文件夹和文件,可以通过 PowerShell 监控 Windows 更
    监控Windows更新补丁安装过程中的文件夹和文件,可以通过PowerShell监控Windows更新的日志文件夹、注册表或其他相关位置。Windows更新会在多个地方生成日志和文件,下面提供了一个使用PowerShell监控Windows更新相关路径、文件夹及文件的示例。监控Windows更新相关的文......
  • c++执行shell操作
     message("----->>>>>shelldemo/CMakeLists.txt")#收集当前目录下所有的.cpp文件aux_source_directory(.DIR_SRCS)#添加可执行文件add_executable(shelldemo${DIR_SRCS})#链接需要的库target_link_libraries(shelldemo${LIB_LIB})/shelldemo/CMakeList......
  • awk命令的使用
    awkawk命令与sed和grep合称为linux"文本处理三剑客!",是linux文本处理强大工具,它在sed和grep之上扩展了诸多重要性质,包含"循环/选择/顺序"等流程控制方面的特性,以及数组,链表,变量等内存控制方面的特性.可以称其为一门强大的文本处理编程语言,实现诸如按行/列统计,按满足特定......
  • 命令行工具PowerShell使用体验
    命令行工具PowerShell使用PowerShell是微软开发的一种面向对象的命令行Shell和脚本语言环境,它允许用户通过命令行的方式管理操作系统。相较于传统CMD,PowerShell增加了面向对象的程序设计框架,拥有更强大的功能和扩展性。使用PowerShell可以方便地自动化系统管理任务,构建脚本......
  • dotnet cli publish 命令行发布脚本 bat shell
    dotnetcli发布脚本publish_remote.bat该脚本实现一键主要发布到远程的共享文件夹中@echooff::定义变量SHARE_PATH:共享文件夹,SOURCE_DIR:代码发布的文件夹,TARGET_DIR:目标文件夹(共享文件夹的映射)setPRO_PATH=.\WebAppsetSHARE_PATH=\\pcmesone\Reportset......
  • 【命令操作】Linux三剑客之sed详解 _ 统信 _ 麒麟 _ 方德
    原文链接:【命令操作】Linux三剑客之sed详解|统信|麒麟|方德Hello,大家好啊!今天带来一篇关于Linux三剑客之sed命令详解的文章。sed是一款功能强大的流编辑器,它可以在命令行中快速处理文本,支持替换、插入、删除等操作,特别适合用于处理大型文件或批量文本处理任务。本文......
  • PowerShell DSC(Desired State Configuration)是一种配置管理框架,旨在通过声明性的方式
    PowerShellDSC(DesiredStateConfiguration)是一种配置管理框架,旨在通过声明性的方式自动化和管理计算机的配置。它是WindowsPowerShell的一部分,允许管理员定义和维护计算机系统的目标配置状态,而不是手动进行逐个更改。1. 什么是PowerShellDSC?PowerShellDSC是一种基于声......