Linux中正则表达式等

news2024/11/27 23:33:15

grep命令:主要作用就是过滤查找文本内容

常用的选项有:

-m 数字:匹配几次之后停止,按行匹配,不是按字符个数,例如

-v:取反

例如:

-n:显示匹配的行号

例如:

-c:仅显示匹配的行数,不显示匹配内容

例如:

-o:仅显示匹配的内容

例如:

-q:静默模式,只输出,无结果

例如:

-A 数字:After 后几行

例如:

-B 数字:显示匹配到的行,以及前几行

例如:

-C 数字:匹配前后个几行

例如:

-e :实现多个过滤条件之间的逻辑或关系

例如:

-w:匹配整个单词

例如:

-E:使用扩展正则表达式

例如:

-f:根据模式文件进行匹配,匹配两个文件相同的内容

例如:相同的内容会标红

-r :递归目录,但是不处理软连接。匹配目录中文本的内容

例如:

-R:递归目录,这是处理软连接。匹配目录中文本的内容

例如:

文本三剑客:grep主要的就是查

sed主要是增和改

awk按行取列

都是针对文本的内容

sort:按照行对文件内容进行排序。也可以根据不同的数据类型进行排序

用法格式:

1.sort 选项 参数

2.cat 文件名 | sort 选项

常用的选项有:

假如:test1.txt文本内容是:

-f :忽略大小写,默认会把大写字母排在前面

例如:

-b:忽略每行前面的空格

例如:

-n :按照数字进行排序

例如:

-r:反向排序

例如:

-u:相同的数据只显示一行。也就是去重

例如:

-o:将排序后的文件内容转存到指定文件

例如:

uniq:也是按行进行处理。作用就是连续重复的行进行去重

用法格式:

1、uniq 选项 参数

2、cat 文件名 | uniq 选项

常用的选项有:

-c:统计连续重复出现的行的次数,并且合并重复的行,并展示

例如:

-u :显示仅出现一次的行

例如:

-d:显示仅重复出现的行

例如:

tr:字符替换 压缩 删除

用法格式:

1、tr 选项 参数

2、cat 文件名 | tr 选项

常用的选项有:

-c:保留字符集1的字符,其他字符用字符集2进行替换

例如:

-d:删除字符集

例如:

-s:可以将重复出现的字符串压缩为一个字符串

例如:

-t: 默认的,可以不加,这是替换。字符集2替换成字符集1

例如:

实验:将PATH中的:替换成空格

实验:将PATH中的:替换成换行

cut: 快速裁剪,也就是对字段进行截取与裁剪

用法格式:

1、cut 选项 参数

2、cat 文件 | cut 选项

常用的选项:

-d:指定裁剪的分隔符(默认的分隔符是tab的空格)

-f:按行取列,根据第几个字段进行截取

例如:

什么到什么是:1-3

什么和什么是:1,3

-b:以字节为单位,进行截取

-c:以字符为单位,进行截取

-b 和-c :不咋用就不演示了

--complement :排除所指定的字段

例如:

--output-delimiter: 更改输出结果的分隔符

例如:

面试题:如何对文件进行拆分:

现有一个日志文件,很大将近5G,直接打开速度很慢,有什么办法优化呢?

文件进行拆分:

splie可以将大文件拆分成若干小文件gr

-l:指定行数进行拆分

例如:

-b:指定大小进行拆分

例如:

真正工作最好以下方法使用

面试题:合并文件

cat合并和paste有什么区别:

cat合并是上下合并

paste合并是左右合并

工作中肯定是cat合并更好

实验:统计当前主机的连接状态:

答案:

实验:统计当前主机的连接数

[root@test1 opt]# ss -nt | tr -s " " | cut -d " " -f 4 | sort -n | uniq -c

以上都是针对文件的内容进行操作

正则表达式:由一类特殊字符以及文本字符所编写的模式

其中有些字符不表示字符字面的含义。而表示控制或者通配的功能,用来处理文本内容当中的字符

也就是由一些特殊字符组成的特定格式的内容,用来匹配文件当中的内容。

问题1:ls输出的内容算不算文本内容

答案:算

PS:Linux中所有命令所显示的所有有内容,都算是文本内容

Linux当中的通配符:通配符用来匹配文件名或者目录名。

*:任意一个或者多个字符。

例如:

?:只能匹配任意一个字符

例如:

[]:范围匹配

例如:

正则表达式:

元字符:

. :匹配任意单个字符,或者是一个汉字

例如:

\ :转义符

例如:

():分组的意思 \(\)

() 使用转义符,只表示()

[]:匹配指定范围内的单个字符

[[:blank:]]:匹配空格和制表符

[^a] :除了a以外,取反

例如:

所有的元字符:

. 匹配任意单个字符,可以是一个汉字

() 使用转义符,只表示\(\)

[] 匹配指定范围内的任意单个字符,示例:[dn] [0-9] [] [a-zA-Z]

[^] 匹配指定范围外的任意单个字符,示例:dn a.z

[:alnum:] 字母和数字 [0-9] [a-z] [0-9] [a-z]

[:alpha:] 代表任何英文大小写字符,亦即 [A-Z], [a-z]

[:lower:] 小写字母,示例:[[:lower:]],相当于[a-z]

[:upper:] 大写字母 [A-Z]

[[:blank:]] 空白字符(空格和制表符)

[:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围广

[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)

[:digit:] 十进制数字

[:xdigit:]十六进制数字

[:graph:] 可打印的非空白字符

[:print:] 可打印字符

[:punct:] 标点符号

\w #匹配单词构成部分,等价于[[:alnum:]]

\W #匹配非单词构成部分,等价于[^[:alnum:]]

\S #匹配任何非空白字符。等价于 \f\n\r\t\v。

\s #匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

表示次数:

*:表示匹配前面的字符任意次,包括0次。尽可能长的匹配

例如:

.*:匹配前面的任意字符任意次,但是不包括0次

例如:

\?:表示匹配前面的字符出现0次或者一次

例如:

\+:匹配前面出现的字符最少一次,最多任意次。也就是>=1

例如:

\{n\}:表示前面的字符只能出现=n次

例如:

\{n,m\}:表示前面的字符最少有n次,最多有m次

例如:

\{,n\}:表示前面的字符,最多有n次,0次也算

例如:

\{n,\}:表示前面的字符,最少有n次

例如:

实验:将ifconfig ens33中的地址与子网掩码还有广播地址单独列出来

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++满足条件的3位数 2020年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C满足条件的3位数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C满足条件的3位数 2020年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 编写程序,按从小到大的顺序…

C/C++数据结构之时间复杂度和空间复杂度详细解析以及力扣刷题

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.前言 2.算法的…

中国各城市土地利用类型(城市功能)矢量数据集(shp)

中国各城市土地利用类型(城市功能)数据集 时间:2018年 全国范围的城市用地类型数据(居住/商业/交通用地等共计11类) 分类:居住用地、商业用地、工业用地、医疗设施用地、体育文化设施用地、交通场站用地、绿地等用地类型 含城市编码、一级分类5个、二级分类11个 数据按…

SQL SERVER 表分区

1. 概要说明 SQL SERVER的表分区功能是为了将一个大表(表中含有非常多条数据)的数据根据某条件(仅限该表的主键)拆分成多个文件存放,以提高查询数据时的效率。创建表分区的主要步骤是 1、确定需要以哪一个字段作为分…

语雀P0级时间爆发,留给运维的时间不多了?

事件背景 打工人的焦虑,已经延伸到在线文档了。近日,语雀P0级故障想必大家都有所体会,宕机近8小时,笔记、离线同步完全不可用。作为用户尤其担心我的文档资料是否会因此消失。 这泼天的8小时,放眼互联网界也是相当炸裂…

重生奇迹MU的三大知名宝石

一、祝福宝石 祝福宝石也是重生奇迹中的一种知名宝石,它的体积要比玛雅宝石大一些,颜色是一种粉色,呈菱形的一个多面体,掉在地上或是鼠标移上去,你就能看到“祝福宝石”这几个字样。 如果你打到祝福宝石的话&#xf…

记录微调chatglm3

用于记录chatglm3的过程,防止忘记 需要注意的 可以使用xtuner -h查看有哪些功能可以使用。 [2023-10-31 11:40:18,643] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect) 10/31 11:40:22 - mmengine - INFO - Ar…

在Windows上安装Elasticsearch-8.x.x

前言 Elasticsearch 是一种流行的开源搜索和分析引擎,它提供了强大的全文搜索和实时数据分析功能,被广泛应用于各种领域,包括大数据分析、日志处理、企业搜索等。 一、下载 Elasticsearch 官方网站(https://www.elastic.co/dow…

R语言在生态环境领域中的实践技术应用

R语言作为新兴的统计软件,以开源、自由、免费等特点风靡全球。生态环境领域研究内容广泛,数据常多样而复杂。利用R语言进行多元统计分析,从复杂的现象中发现规律、探索机制正是R的优势。为此,以鱼类、昆虫、水文、地形等多样化的生…

Django开发实例总结(入门级、4.2.6、详细)

目录 概述 Django的核心组件包括 Django的项目结构 创建工程(4.2.6) 实例一:Hello world 实例二:访问一个自定义主页 实例三:通过登录跳转到主页 实例四:主页添加静态文件,包含js、css、…

学习Python,为什么可以轻松应对工作大小事?

Python,大名鼎鼎,它在工作中到底能发挥什么样的作用?在现代职场,Python如同一把瑰丽的多功能钥匙,能打开各行各业的大门。无论你是行政助手、财务分析师、电商经营者,还是数据研究员,Python都能…

pychram中cmd已导入docx库仍报错ModuleNotFoundError: No module named ‘docx‘

已经在cmd里pip install python-docx了,但是执行py文件时依然报错,解决方式是在File-Setting-Python Interpreter中点击号,搜索python-docx点击install package等待安装成功再执行文件就不会报错了。

SkyWalking官方文档-1-概述

概述 SkyWalking是一个开源的可观测平台,用于收集,分析,聚合,以及可视化处理来自服务和云原生框架的数据。SkyWalking提供了一种简单的方法来维护分布式系统的清晰视图,即使是跨云。 它是一种现代APM,专门…

手机app爬虫配置(模拟机)

近期在做某个项目,涉及到需要对手机app的进行数据爬取。 下面将讲述具体配置步骤 1、安装手机模拟器 在百度上搜索手机模拟器就可以啦,这里以夜神模拟器夜神安卓模拟器-安卓模拟器电脑版下载_安卓手游模拟器_手机模拟器_官网为例子。 下载后,直接点击安装即可。 2、安装…

多模态对比语言图像预训练CLIP:打破语言与视觉的界限

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…

美国人工智能政策公布

美国总统拜登 30 号上午发布了一项关于人工智能(AI)的行政命令(EO)。该行政命令最初以白宫情况说明书的形式向公众提供,“为人工智能安全和安保制定了新标准,保护美国人的隐私,促进公平和公民权…

【C++指针】类的指针

/*** file * author jUicE_g2R(qq:3406291309) * brief 类的指针* copyright 2023.10* COPYRIGHT 原创学习笔记:转载需获得博主本人同意,且需标明转载源* language C*/1 类 类 类 需要在 . h 文件 .h文件 .h文件 先声明 //…

MyBatis批量插入数据优化,新增参数大幅提升操作效率

项目中进行接口压测,发现批量插入的速度有点超出预期,感觉很奇怪,经过定位后发现mybatise-plus批量保存的处理十分缓慢,使用的是saveBatch方法,这点有点想不通。于是就进行了相关内容分析。 根据mybatise-plus中saveB…

ecplise中导入或更新项目之后出现的jsp文件一直显示红叉

解决办法:右键---build path或者properties中找java build path 先检查项目本身的jre版本是不是不与你本身的加热版本相同,如果不相同,则选中这个jre Systemlibrary -----右边有一个remove删除点。。。 (2)重新添加一…

(自适应手机端)厨师招聘信息发布类网站模板

(自适应手机端)厨师招聘信息发布类网站模板 PbootCMS内核开发的网站模板,该模板适用于信息发布网站等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可; 自适应手机端,同一个后台,数据即时同…