分享好友 最新动态首页 最新动态分类 切换频道
Linux 文本处理三剑客应用
2024-12-26 14:53

Linux 系统中文本处理有多种不同的方式,系统为我们提供了三个实用命令,来实现对行列的依次处理功能,grep命令文本过滤工具,cut列提取工具,sed文本编辑工具,以及awk文本报告生成工具,利用这三个工具可以灵活的过滤截取任何系统文本内容。

Grep 文本过滤工具

grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,在Linux系统中是最常用的行匹配提取工具.

 

匹配任意多次字符: 使用实现匹配前一个字符出现0次或任意多次(本例则是匹配g字符出现0次或任意多次)

 

匹配任意一个字符: 使用实现匹配除换行符以外的任意一个字符,(只匹配一个字符),一般我们把这种匹配模式叫做贪婪匹配

 

匹配行首行尾字符: 使用匹配行首是指定字符的文本,相反使用匹配行尾是指定字符的文本

 

匹配括号范围以内字符: 使用匹配中括号内任意一个字符,只匹配其中一个

 

匹配括号范围以外字符: 使用匹配除了中括号字符以外的任意一个字符,符号取反的意思.

 

匹配行首某字符: 使用匹配行首是与不是指定字符的行,匹配行首是否是或不是某一个字符的记录.

 

匹配恰好出现次数行: 使用匹配前面的字符恰好出现了n次的行

 

匹配不小于出现次数行: 使用匹配前面字符出现,不小于n次的行

 

匹配不小于且不大于次数行: 使用匹配前面的字符出现,不小于n次,最多出现m次的行

 

匹配出现1次或任意多次的行: 使用匹配前一个字符出现1次或任意多次的行

 

匹配出现0次或1次的行: 使用匹配前一个字符出现过0次或1次,最少0次,最多1次.

 

匹配分支选择行: 使用匹配两个或多个分支选择,从特定分支内选择不同的关键词匹配查询

 

匹配模式单元行: 使用将字符作为一个整体匹配,即模式单元匹配

 

匹配日期与时间行: 使用正则匹配文本中的日期与时间

 

过滤空白行与注释行: 过滤掉开头是#号的,和开头是空行的行,实现去掉注释与空白行

 

匹配开头结尾的行: 匹配开头是且结尾是点的行

 

匹配IP/MAC相关地址行: 正则匹配IP地址,与匹配MAC地址

 

Cut 列提取工具

cut命令用来显示行中的指定部分,删除文件中指定字段,cut经常用来显示文件的内容,类似于type命令.该命令显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上.

 

手动创建一个文本,添加内容列之间用tab分隔,用来测试后续内容

 

通过使用 选项指定过滤的列,并显示到屏幕

 

通过使用 选项提取指定字段之外的列,(打印除了第2列之外的列)

 

通过使用 选项过滤/etc/passwd,并打印第1个到第3个字符

 

通过使用 选项过滤,并打印前2个字符

 

通过使用 选项过滤,打印从第5个字符开始到结尾

 

通过使用 指定分隔符 指定打印第个字段,以下我们分别截取第1和第7个字段

 

通过使用 指定截取前3个字符,还可以通过 截取第3个字符

 

Sed 文本流编辑器

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,sed主要是来进行数据选取,替换,删除,新增的命令.

 

在进行实验之前,首先创建一个文件,来做测试用

 

使用 重复打印第二行数据

 

使用 限定,只选取指定的行进行显示

 

使用 删除掉文件2-4行,并显示到屏幕,(原文件内容并没有被修改)

 

使用 追加,或者插入数据指定数据

 

使用 换行符,一次插入多行数据

 

使用 实现整行替换数据

 

使用 后面跟上 选项,将第5行的修改,保存进文件,(-i选项是回写)

 

字符串的替换 进行整行替换

 

将第3行数据的开头添加#注释

 

将第4和第5行的内容替换成空

 

通过使用grep命令定位到指定行,然后使用sed替换无用字符串,最后实现IP地址的过滤.

 

Awk 文本报告生成器

awk是一种编程语言,用于在Linux下对文本和数据进行处理,数据可以来自标准输入(stdin),一个或多个文件,或其它命令的输出,它支持用户自定义函数和动态正则表达式等先进功能,此处我们只需要了解一些基础即可.

 

在进行实验之前,首先创建测试文件,后续使用该文件练习过滤.

 

简单使用,awk格式化输出文本的第二列和第三列的内容.

 

指定分隔符,通过使用参数可以用于指定一个分隔符.

 

Bengin/End关键字: BEGIN的执行时机是在awk程序开始过滤之前执行,BEGIN定义的动作只能被执行一次.

 

至于END则刚好和BEGIN相反,END是在awk程序处理完所有数据,即将结束时执行,END后的动作只在程序结束时执行一次.

 

当然了BEGIN与END是可以连用的,以下例子也就是实现了连用的效果.

 

关系运算符: 设定条件,符合执行不符合不执行,下面设定条件为AGE字段>=25岁的列出

 

awk正则匹配: awk是列提取命令,其每次读入一行,并进行判断,重复赋值变量,并打印数据.

正则搜索第2列NAME字段,包含XDL的行,并打印出AGE列对应的值.

 

正则全局搜索包含WR的字段行,并打印本行全部数据.

 

正则全局查找满足开头范围是[0-2]的行,并打印出全部数据.

 

awk内置变量: 接下来将来看几个比较重要的内置变量的使用,以及简单实现判断功能

通过内置变量 定义分隔符,打印文件的第1列和第7列

 

打印行内容的同时,打印出行号(NR变量),和本行的字段数(NF变量)

 

打印内容的同时,首先判断 然后再打印本行的行号等信息

 

将第2行,到第4行,的内容加起来,最后输出结果相加的结果

 

统计AGE列,将年龄小于25岁的任过滤出来,并显示 is young man!

 

统计LINUX列,当出现大于80分的,打印到屏幕上 is good man!

最新文章
5G手机相关的上市公司(2024/12/11)
  据南方财富网概念查询工具数据显示,5G手机相关的上市公司有:  1、卓翼科技:  12月11日卓翼科技(002369)公布,截至15点收盘,卓翼科技股价报7.660元,涨10.06%,市值为43.43亿元,近5日内股价上涨13.84%,成交金额6亿元。  在
ChatPPT,基于AI的PPT生成工具,高效办公新选择
### ChatPPT:基于AI的PPT生成工具,高效办公新选择在数字化时代,办公效率与创造力成为了衡量个人与企业竞争力的重要指标随着人工智能技术的飞速发展,各类智能工具应运而生,旨在简化工作流程,提升创作质量其中,“ChatPPT”作为一款基
2024年12月10日实时新闻关键词的历史印记
随着科技的飞速发展,信息传播的速度愈发惊人,在这样一个信息时代,我们回顾历史的方式也在悄然改变,本文将聚焦于2024年12月10日的新闻事件,通过实时抓取的关键词,展现那一天的背景、重大事件、影响及其在特定领域或时代中的地位,让我
2024上半年中国边缘云市场达54.8亿元:AI需求推动增长
根据国际数据公司(IDC)最近发布的报告《2024H1中国边缘云市场跟踪研究》,2024年上半年中国边缘云市场规模达到了54.8亿元人民币,同比增速达21.0%。这表明,在云计算日益普及的背景下,中国的边缘云市场正在迅速扩大,主要受到边缘公有云服
2023怎么查高考成绩排名位次 位次计算方法
2023查找高考成绩排名位次考生可以找到本省的教育考试院官网,进入到高考成绩查询界面,一般旁边会有排名情况,数字反映的就是高考位次。也可以结合各省教育考试院公布的“一分一段表”的文章,考生可以登录各省教育考试院官网查看这个表格
360清理大师 v7.9.9会员版
软件介绍:360清理大师免费版app即原360优化大师,是奇虎360公司专为安卓手机用户打造垃圾清理工具。支持内存加速、垃圾清理、隐私粉碎、软件卸载等多种功能,让你手机快的飞起。赶快下载体验吧!360清理大师是一款完全免费的手机加速与空
360清理大师下载地址[隐私政策]
360清理大师,一般又称360清理垃圾,360清理垃圾大师,360清理大师一键清理,360清理大师一键清理加速。
EXFIL游戏闪退卡顿怎么解决 EXFIL游戏闪退卡顿解决方法
很多玩家可能会误以为在EXFIL里闪退是设备的锅,认为重启就能解决一切,那么到底EXFIL游戏闪退卡顿怎么解决呢?罪魁祸首的网络拥堵就像交通堵塞,令数据包艰难地加载,慢如蜗牛。而biubiu加速软件,它迅速疏通堵塞的数据管道,为大伙开辟一
2024年排行榜:免费的91手机助手软件
下面给大家推荐几款好用的免费的91手机助手软件,有需要的小伙伴们来了解一下。91手机助手iPad版是一款功能强大的手机PC助手软件。它提供了丰富的娱乐生活软件下载、手机功能设置和重要资料安全管理等功能。用户可以免费下载安装该软件,并
c语言的各类排序
排序的概念: 1.排序就是将一组没有规律的数据按照一定的规律进行(升序/降序)排序。 2.一个元素数列如果两个元素A,B。如果在排序之前A在B的前面,在排序之后A依然在B的前面。那么我们就说这个排序算法是
相关文章
推荐文章
发表评论
0评