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

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

Zygote进程通信为什么用Socket而不是Binder?
Zygote进程是Android系统中的一个特殊进程,它在系统启动时被创建,并负责孵化其他应用进程。它的主要作用是预加载和共享应用进程的资源,以提高应用启动的速度。 在Android系统中,常用的进程通信方式有以下几种: Intent…...

API接口加密,解决自动化中登录问题
一、加密方式 AES:对称加密,快RAS:非对称加密,慢AESRAS:安全高效 加密过程:字符串》字节流》加密的字节流(算法),解密有可能出现乱码,所以不能直接转成字符…...

COCOS2DX3.17.2 Android升级targetSDK30问题解决方案
一、luajit不兼容问题 不兼容版本:【2.1.0-bate2、2.1.0-bate3都存在异常】 出问题系统:Android11;Android10的系统部分机型有问题,部分机型正常 异常点1:c调用lua接口,pushObjiect的时候crash 异常点2…...

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

【面试精选】00后卷王带你三天刷完软件测试面试八股文
前言 本人普通本科计算机专业,做测试也有3年的时间了,讲下我的经历,我刚毕业就进了一个小自研薪资还不错,有10.5k(个人觉得我很优秀),在里面呆了两年,积累了一些的经验和技能&#…...

k-means算法c++实现
计算数据集中的元素与各个簇的中心的距离,将它赋给最近的簇,然后重新计算每个簇的平均值,再将元素按离平均值点最近的原则重新分配直到没有出现重新分配 该算法要事先给出k的值,即划分为几个簇。 vector<int> datoclu(dat…...
oracle查询哪些用户下有表
oracle查询哪些用户下有表,排除系统用户。 在实际业务中 oracle数据库中创建了很多的用户 但实际都是无表的,利用SQL语句将这些有表的用户查询出来 并显示用户名、表名、创建表的时间等信息。 select * from dba_objects where object_type = TABLE and owner not in ( AN…...

机器人连杆惯量参数辨识(估计)
杆的转动惯量的计算公式是Imr^2。在经典力学中,转动惯量(又称质量惯性矩,简称惯矩)通常以I 或J表示,SI 单位为 kgm。对于一个质点,I mr,其中 m 是其质量,r 是质点和转轴的垂直距离。…...

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

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

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...