Linux中正则表达式等

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.rhkb.cn/news/177180.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue-安装Vue开发者工具

极简插件:下载->开发者模式->拖曳安装->插件详情允许访问文件 网址:https://chrome.zzzmh.cn/index 搜索Vue Devtools 下载下来的安装包先解压 然后点击chrome浏览器的右上角三个点的按钮在里面找到扩展程序这个选项,然后点进去管理…

pycharm使用ssh连接远程jupyter

1. 安装jupyter pip install jupyter2. 生成jupyter_notebook_config.py文件 jupyter notebook --generate-config3. 设置命令参数 jupyter notebook --no-browser --allow-root --port 8900配置Jupyter服务器 将上面的代码复制到命令行实参中:

Qwt 使用QwtDial绘制汽车仪表盘

1.概述 QwtDial是Qwt库中的一个类,用于绘制一个可旋转的仪表盘。 以下是类继承关系: 2.常用方法 void setOrigin(double origin) 设置仪表盘的原点角度,以度为单位,默认为0度,正值为逆时针旋转,负值为顺时…

腾讯云轻量服务器“镜像类型”以及“镜像”选择方法

腾讯云轻量应用服务器镜像类型分为应用镜像、系统镜像、Docker基础镜像、自定义镜像和共享镜像,腾讯云百科txybk.com来详细说下不同镜像类型说明和详细介绍: 轻量应用服务器镜像类型说明 腾讯云轻量应用服务器 应用镜像:独有的应用镜像除了包…

Linux shell编程学习笔记17:for循环语句

Linux Shell 脚本编程和其他编程语言一样,支持算数、关系、布尔、字符串、文件测试等多种运算,同样也需要进行根据条件进行流程控制,提供了if、for、while、until等语句。 之前我们探讨了if语句,现在我们来探讨for循环语句。 Li…

什么是数字展览馆,数字展览馆有什么应用前景

引言: 数字展览馆作为一种新兴的文化艺术展示形式,以数字化技术和虚拟现实为基础,正在逐渐改变传统展览的方式。 一、什么是数字展览馆? 1.定义 数字展览馆是利用数字技术和虚拟现实技术打造的一种线上文化艺术展示平台。通过虚…

【网络协议】聊聊HTTPS协议

前面的文章,我们描述了网络是怎样进行传输数据包的,但是网络是不安全的,对于这种流量门户网站其实还好,对于支付类场景其实容易将数据泄漏,所以安全的方式是通过加密,加密方式主要是对称加密和非对称加密。…

git简单介绍,回车换行问题,倒计时+进度条小程序的实现+代码

目录 git--版本控制工具 介绍 使用 小程序 引入 回车换行问题 缓冲区问题 倒计时 分析 代码 进度条 分析 代码 git--版本控制工具 首先,我们需要下载git : yum install git 介绍 Git是一种分布式版本控制系统,用于跟踪文件和目录的变化并协调多个人之…

常用 sqlite3 命令

本次将向您讲解 SQLite 编程人员所使用的简单却有用的命令。这些命令被称为 SQLite 的点命令,这些命令的不同之处在于它们不以分号 ; 结束。 让我们在命令提示符下键入一个简单的 sqlite3 命令,在 SQLite 命令提示符下,您可以使 用各种 …

新晋“断货王”!西圣Olite开放式耳机掀起抢购热潮,双十一首日售罄!

在双十一首日,西圣olite开放式耳机凭借其超高性价比,一举拿下“断货王”称号,在双十一首日已售罄,现在在各大电商平台均显示无货。 这一消息引起了社交媒体的热议,除了其超高性价比,性能可以媲美千元级别耳…

操作系统 day02(特征和发展历程)

一,操作系统的特征 并发和并行 共享 并发和共享互为存在条件 虚拟 异步 综上所述: 二,操作系统的发展历程

使用Ansible中的playbook

目录 1.Playbook的功能 2.YAML 3.YAML列表 4.YAML的字典 5.playbook执行命令 6.playbook的核心组件 7.vim 设定技巧 示例 1.Playbook的功能 playbook 是由一个或多个play组成的列表 Playboot 文件使用YAML来写的 2.YAML #简介# 是一种表达资料序列的格式,类似XML #特…

阿里云无影升级2.0 云电脑解决方案时代到来

10月31日,杭州云栖大会上,阿里云宣布无影全新升级2.0:从云电脑到云上解决方案,帮助中小企业更便捷地构建云上办公,并开放无影产品及解决方案能力,为生态合作伙伴提供企业云平台,帮助其打造定制化…

Mozilla Firefox 119 现已可供下载

Mozilla Firefox 119 开源网络浏览器现在可以下载了,是时候先看看它的新功能和改进了。 Firefox 119 改进了 Firefox View 功能,现在可以提供更多内容,如最近关闭的标签页和浏览历史,你可以按日期或网站排序,还支持查…

【设计模式】第24节:行为型模式之“模板方法模式”

一、简介 模板方法模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。模板方法模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤。 模板模式有两大作用:复用和扩展。其中,复用指的是&#…

10.31日模拟赛总结

文章目录 考试时间及策略考试结果考试反思题解A.进步科学B.吉吉没急C.老杰克哒D.季积晓淆 考试时间及策略 没啥好说的,因为好像都不会。所以全场感觉都在罚坐,很痛苦。 考试结果 30 0 50 5 85 考试反思 T1:T1是个神奇状压&#xff0…

【java学习—十一】泛型(1)

文章目录 1. 为什么要有泛型Generic2. 泛型怎么用2.1. 泛型类2.2. 泛型接口2.3. 泛型方法 3. 泛型通配符3.1. 通配符3.2. 有限制的通配符 1. 为什么要有泛型Generic 泛型,JDK1.5新加入的,解决数据类型的安全性问题,其主要原理是在类声明时通过…

通过Google搜索广告传送的携带木马的PyCharm软件版本

导语 最近,一起新的恶意广告活动被发现,利用被入侵的网站通过Google搜索结果推广虚假版本的PyCharm软件。这个活动利用了动态搜索广告,将广告链接指向被黑客篡改的网页,用户点击链接后下载的并不是PyCharm软件,而是多种…

矢量图形编辑软件illustrator 2023 mac中文软件特点

illustrator 2023 mac是一款矢量图形编辑软件,用于创建和编辑排版、图标、标志、插图和其他类型的矢量图形。 illustrator 2023 mac软件特点 矢量图形:illustrator创建的图形是矢量图形,可以无限放大而不失真,这与像素图形编辑软…

leetcode:1446. 连续字符(python3解法)

难度:简单 给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。 请你返回字符串 s 的 能量。 示例 1: 输入:s "leetcode" 输出:2 解释:子字符串 &q…