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.mzph.cn/news/127047.shtml

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

相关文章

基于Docker-consul容器服务更新与发现

目录 一、什么是服务注册与发现: 二、Docker-consul介绍: 三、consul的关键特性: 四、consul部署: 1.部署规划: 2.consul服务器部署: 2.1 建立consul服务: 启动consul后默认会监听5个端口&a…

c++ 实现二叉搜索树

二叉搜索树的概念 二叉搜索树 (BST,Binary Search Tree),也称二叉排序树或二叉查找树。它要么是一颗空树,要么是满足以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值。若它的右子树不为…

Ubuntu MySQL客户端功能介绍(mysql-client)mysql命令(mysql客户端命令)数据库导出、数据库导入

文章目录 Ubuntu MySQL客户端(mysql-client)功能介绍MySQL客户端与服务端服务器端(MySQL Server)客户端(MySQL Client) 安装MySQL客户端连接到MySQL服务器(mysql -h host -u user -p)执行SQL查询批处理模式…

Spring - 手写模拟Spring底层原理

手写Spring 定义配置类AppConfig ComponentScan("com.spring.zsj") public class AppConfig {Beanpublic ApplicationListener applicationListener() {return new ApplicationListener() {Overridepublic void onApplicationEvent(ApplicationEvent event) {System…

【案例】3D地球(vue+three.js)

需要下载插件 <template><div class"demo"><div id"container" ref"content"></div></div> </template> <script> import * as THREE from three; // import mapJSON from ../map.json; import { Or…

pytorch 笔记:KLDivLoss

1 介绍 对于具有相同形状的张量 ypred​ 和 ytrue&#xff08;ypred​ 是输入&#xff0c;ytrue​ 是目标&#xff09;&#xff0c;定义逐点KL散度为&#xff1a; 为了在计算时避免下溢问题&#xff0c;此KLDivLoss期望输入在对数空间中。如果log_targetTrue&#xff0c;则目标…

新一代构建工具Vite-xyphf

一、什么vite? vite:是一款思维比较前卫而且先进的构建工具,他解决了一些webpack解决不了的问题——在开发环境下可以实现按需编译&#xff0c;加快了开发速度。而在生产环境下&#xff0c;它使用Rollup进行打包&#xff0c;提供更好的tree-shaking、代码压缩和性能优化&…

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v8.0版已发布

关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架&#xff0c;超轻量级、高度提炼&#xff0c;一套API优雅支持 UDP 、TCP 、WebSocket 三种协议&#xff0c;支持 iOS、Android、H5、标准Java、小程序、Uniapp&#xff0c;服务端基于Netty编写。 工程…

计算机网络-应用层

文章目录 应用层协议原理万维网和HTTP协议万维网概述统一资源定位符HTML文档 超文本传输协议&#xff08;HTTP&#xff09;HTTP报文格式请求报文响应报文cookie 万维网缓存与代理服务器 DNS系统域名空间域名服务器和资源记录域名解析过程递归查询迭代查询 动态主机配置协议&…

SpringCloud Alibaba Demo(Nacos,OpenFeign,Gatway,Sentinel)

开源地址&#xff1a; ma/springcloud-alibaba-demo 简介 参考&#xff1a;https://www.cnblogs.com/zys2019/p/12682628.html SpringBoot、SpringCloud 、SpringCloud Alibaba 以及各种组件存在版本对应关系。可参考下面 版本对应 项目前期准备 启动nacos. ./startup.c…

数据结构(超详细讲解!!)第十八节 串(堆串)

1.定义 假设以一维数组heap &#xff3b;MAXSIZE&#xff3d; 表示可供字符串进行动态分配的存储空间&#xff0c;并设 int start 指向heap 中未分配区域的开始地址(初始化时start 0) 。在程序执行过程中&#xff0c;当生成一个新串时&#xff0c;就从start指示的位置起&#…

kotlin中集合操作符

集合操作符 1.总数操作符 any —— 判断集合中 是否有满足条件 的元素&#xff1b; all —— 判断集合中的元素 是否都满足条件&#xff1b; none —— 判断集合中是否 都不满足条件&#xff0c;是则返回true&#xff1b; count —— 查询集合中 满足条件 的 元素个数&#x…

python科研绘图:条形图

条形图&#xff08;bar chart&#xff09;是一种以条形或柱状排列数据的图形表示形式&#xff0c;可以显示各项目之间的比较。它通常用于展示不同类别的数据&#xff0c;例如在分类问题中的不同类别、不同产品或不同年份的销售数据等。 条形图中的每个条形代表一个类别或一个数…

基于goframe2.5.4、vue3、tdesign-vue-next开发的全栈前后端分离的管理系统

goframe-admin goframe-admin V1.0.0 平台简介 基于goframe2.5.4、vue3、tdesign-vue-next开发的全栈前后端分离的管理系统。前端采用tdesign-vue-next-starter 、vue3、pinia、tdesign-vue-next。 特征 高生产率&#xff1a;几分钟即可搭建一个后台管理系统认证机制&#x…

华为云资源搭建过程

网络搭建 EIP&#xff1a; 弹性EIP&#xff0c;支持IPv4和IPv6。 弹性公网IP&#xff08;Elastic IP&#xff09;提供独立的公网IP资源&#xff0c;包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑…

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

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

【代码数据】2023粤港澳大湾区金融数学建模B题分享

基于中国特色估值体系的股票模型分析和投资策略 首先非常建议大家仔细的阅读这个题的题目介绍&#xff0c;还有附赠的就是那个附件里的那几篇材料&#xff0c;我觉得你把这些内容读透理解了&#xff0c;就可以完成大部分内容。然后对于题目里它主要第一部分给出了常用的估值模…

AttributeError: partially initialized module ‘pandas‘ has no attribute ‘core‘

在使用jupyter notebook学习动手学深度学习时&#xff0c;出现以下错误&#xff1a; %matplotlib inline import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, num_steps 32, 35 train_iter, voca…

android 8.1 disable unsupported sensor

如果device不支持某种sensor,可以在android/frameworks/base/core/java/android/hardware/SystemSensorManager.java里将其disabled掉。以disable proximity sensor为例。 public SystemSensorManager(Context context, Looper mainLooper) {synchronized(sLock) {if (!sNativ…

C#项目设计——学生成绩管理系统设计

学生成绩管理系统C语言.Net C#项目设计 全套代码加数据库文件&#xff0c;带设计报告&#xff0c;带设计报告哦&#xff01; 可以用Microsoft Visual Studio打开 用户名和密码在数据里。 报告部分内容&#xff1a; 设计一个学生成绩管理系统。包括“登录窗体”、“主窗体”和…