当前位置: 首页 > news >正文

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中的地址与子网掩码还有广播地址单独列出来

相关文章:

Linux中正则表达式等

grep命令:主要作用就是过滤查找文本内容 常用的选项有: -m 数字:匹配几次之后停止,按行匹配,不是按字符个数,例如 -v:取反 例如: -n:显示匹配的行号 例如: -c:仅显示匹配的行数,不显示匹配内…...

记一次并发问题 Synchronized 失效

记一次并发问题 Synchronized 失效 场景:为避免信息提交重复,给事务方法增加了synchronized修饰符,实际场景中仍然无法完全避免重复,原因是因为在第一个线程执行完synchronized代码段后,此时spring还未完成事务提交&a…...

手机平板摄像头如何给电脑用来开视频会议

环境: Iriun Webcam EV虚拟摄像头 钉钉会议 问题描述: 手机平板摄像头如何给电脑用来开视频会议 解决方案: 1.下载软件 手机端和电脑端都下载这个软件,连接同一局域网打开软件连接好 另外一款软件Iriun 也是一样操作 2.打…...

windows docker desktop 更换镜像 加速

最近 docker hub 访问不了; 经过研究 可以通过添加 代理镜像网址 添加代理服务器的方式 实现完美访问 1添加镜像网站 修改成国内镜像地址就能享受到飞一般的速度,但有一个问题,部分站点镜像不全或者镜像比较老,建议使用多个镜像站。 https…...

linux下多机器ssh免密码登录配置

20,21,22,23等4台机器配置ssh免密登陆 确认sshd配置 查看/etc/ssh/sshd_config文件,确认如下配置没有被注释掉: AuthorizedKeysFile .ssh/authorized_keys每一台机器修改hosts配置主机名(可选) 执行ssh命令,如…...

【IDEA使用maven package时,出现依赖不存在以及无法从仓库获取本地依赖的问题】

Install Parent project C:\Users\lxh\.jdks\corretto-1.8.0_362\bin\java.exe -Dmaven.multiModuleProjectDirectoryD:\学习\projectFile\study\study_example_service "-Dmaven.homeD:\Program Files\JetBrains\IntelliJ IDEA2021\plugins\maven\lib\maven3" "…...

Flink 统计接入的数据量-滚动窗口和状态的使用

1、概述 在生产场景值,经常需要和上游、下游对数,离线场景可以直接 group by 再 count ,但是实时场景中,如果使用 kafka 作为中间件,中间经过几个 job 的过滤转化后,再对照像 Doris 或 Clickhouse 中最终层…...

SpringBoot快速整合canal1.1.5(TCP模式)

SpringBoot快速整合canal1.1.5(TCP模式) 安装并配置MySQL主从⭐ 1:Docker安装MySQL8.0.28 docker pull mysql:8.0.282:创建目录: mkdir -p /usr/local/mysql8/data mkdir -p /usr/local/mysql8/log mkdir -p /usr/…...

docker打包container成image,然后将image上传到docker hub

第一步&#xff1a;停止正在运行的容器 docker stop <container_name> eg: docker stop xuanjie_mlir 第二步&#xff1a;将对应的container打包成image docker commit <container_id> <镜像名&#xff1a;版本> eg&#xff1a;docker commit 005672e6d97a…...

设计模式—创建型模式之原型模式

设计模式—创建型模式之原型模式 原型模式&#xff08;Prototype Pattern&#xff09;用于创建重复的对象&#xff0c;同时又能保证性能。 本体给外部提供一个克隆体进行使用。 比如我们做一个SjdwzMybatis&#xff0c;用来操作数据库&#xff0c;从数据库里面查出很多记录&…...

Zygote进程通信为什么用Socket而不是Binder?

Zygote进程是Android系统中的一个特殊进程&#xff0c;它在系统启动时被创建&#xff0c;并负责孵化其他应用进程。它的主要作用是预加载和共享应用进程的资源&#xff0c;以提高应用启动的速度。 在Android系统中&#xff0c;常用的进程通信方式有以下几种&#xff1a; Intent…...

API接口加密,解决自动化中登录问题

一、加密方式 AES&#xff1a;对称加密&#xff0c;快RAS&#xff1a;非对称加密&#xff0c;慢AESRAS&#xff1a;安全高效 加密过程&#xff1a;字符串》字节流》加密的字节流&#xff08;算法&#xff09;&#xff0c;解密有可能出现乱码&#xff0c;所以不能直接转成字符…...

COCOS2DX3.17.2 Android升级targetSDK30问题解决方案

一、luajit不兼容问题 不兼容版本&#xff1a;【2.1.0-bate2、2.1.0-bate3都存在异常】 出问题系统&#xff1a;Android11&#xff1b;Android10的系统部分机型有问题&#xff0c;部分机型正常 异常点1&#xff1a;c调用lua接口&#xff0c;pushObjiect的时候crash 异常点2…...

HarmonyOS鸿蒙原生应用开发设计- 隐私声明

HarmonyOS设计文档中&#xff0c;为大家提供了独特的隐私声明&#xff0c;开发者可以根据需要直接引用。 开发者直接使用官方提供的隐私声明内容&#xff0c;既可以符合HarmonyOS原生应用的开发上架运营规范&#xff0c;又可以防止使用别人的内容产生的侵权意外情况等&#xff…...

【面试精选】00后卷王带你三天刷完软件测试面试八股文

前言 本人普通本科计算机专业&#xff0c;做测试也有3年的时间了&#xff0c;讲下我的经历&#xff0c;我刚毕业就进了一个小自研薪资还不错&#xff0c;有10.5k&#xff08;个人觉得我很优秀&#xff09;&#xff0c;在里面呆了两年&#xff0c;积累了一些的经验和技能&#…...

k-means算法c++实现

计算数据集中的元素与各个簇的中心的距离&#xff0c;将它赋给最近的簇&#xff0c;然后重新计算每个簇的平均值&#xff0c;再将元素按离平均值点最近的原则重新分配直到没有出现重新分配 该算法要事先给出k的值&#xff0c;即划分为几个簇。 vector<int> datoclu(dat…...

oracle查询哪些用户下有表

oracle查询哪些用户下有表,排除系统用户。 在实际业务中 oracle数据库中创建了很多的用户 但实际都是无表的,利用SQL语句将这些有表的用户查询出来 并显示用户名、表名、创建表的时间等信息。 select * from dba_objects where object_type = TABLE and owner not in ( AN…...

机器人连杆惯量参数辨识(估计)

杆的转动惯量的计算公式是Imr^2。在经典力学中&#xff0c;转动惯量&#xff08;又称质量惯性矩&#xff0c;简称惯矩&#xff09;通常以I 或J表示&#xff0c;SI 单位为 kgm。对于一个质点&#xff0c;I mr&#xff0c;其中 m 是其质量&#xff0c;r 是质点和转轴的垂直距离。…...

一座 “数智桥梁”,华为助力“天堑变通途”

《水调歌头游泳》中的一句话&#xff0c;“一桥飞架南北&#xff0c;天堑变通途”&#xff0c;广为人们所熟知&#xff0c;其中展现出的&#xff0c;是中国人对美好出行的无限向往。 天堑变通途从来不易。 中国是当今世界上交通运输最繁忙、最快捷的国家之一&#xff0c;交通行…...

C#知识总结 基础篇(上)

本篇内容参考C#图解教程 本篇内容偏向基础&#xff0c;适合0基础的朋友快速上手&#xff0c;也适合有一定C语言&#xff08;或其他语言如C,java&#xff09;基础的人快速上手C#。同时适合unity引擎的初学者&#xff0c;更加详细的了解C#语言。 本文内容基本涵盖C#基础内容&am…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...