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

1、正则表达式

grep匹配

grep用来过滤文本内容,以匹配要查询的结果。

grep   root    /etc/passwd:匹配包含root的行

  • -m    数字:匹配几次后停止

  • -v:取反
  • -i:忽略字符的大小写,默认的,可以不加
  • -n:显示匹配的行号

  • -c:统计匹配的行数

  • -o:仅匹配的字符串

  • -q:静默模式
  • -A     数字:after,包含匹配到的行,以及后几行

  • -B   数字:包含匹配到的行,以及前几行

  • -C   数字:包含匹配到的行,以及前后各几行

  • -w:匹配完整的单词的行

  • -E:使用扩展正则表达式,egrep=grep   -E
  • -f:匹配两个文件中的相同内容,以第一个文件的内容为准(参照)

  • -r:递归目录,查找文件内容,软连接内容不包含。

  • -R:递归目录,查找文件内容,软连接内容包含。

sort排序

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

可见数字在前,字母在后。

  • -f:忽略大小写,可以不加
  • -b:忽略每行前面的空格

  • -n:按照数字进行排序

  • -u:去重,相同的内容仅显示一行
  • -o:输出的文件名,把sort排序后的结果输出到指定的文件

案例1:按原文排序输出到指定文件里

cat   -n 可以添加行数,sort   -no 表示按数字排序输出到指定文件中,正好可以按原文输出。

uniq去重

用于统计或者忽略文件中连续出现的重复行,一般和sort结合使用

uniq   选线   文件名   =   cat   文件名   |   uniq   选项

  • -c:统计连续重复的行的次数,并且合并重复的行

  • -u:显示仅出现一次的行(包括不连续的重复的行)

  • -d:仅显示重复出现的行(必须时连续的重复的行)

tr替换、压缩和删除

用来对标准输入的字符串进行替换、压缩和删除

tr   选项   参数

echo   “字符串”   |   tr   选项

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

  • -d:删除属于字符集1的字符

  • -s:将重复出现的字符串压缩成一个,用字符集2 替换 字符集1。

  • -t:默认带t,替换字符集,一般不加

cut 截取

cut是对字段进行截取和裁剪

cut   选项   参数

cat   文件名   |   cut   选项

  • -d:指定分隔符(默认分隔符是tab)
  • -f:指定要截取的字段
  • -b:以字符的单位进行截取
  • -c:以字符的单位进行截取
  • -complement:排除指定的字段
  • -output-delimiter:更改输出内容的分隔符

以:为分隔符,截取 /etc/passwd 的第1-3段字符。

文件合并

cat  1   2   >   3               —上下合并

paste  1   2   >   3           —左右合并

split文件拆分

有一个文件,太大,直接打开速度很慢,有什么办法提高素的?

  • -l:按行分割

  • -b:按大小分割

正则表达式

正则表达式区别通配符,正则表达式匹配文本的内容,命令的输出结果也属于文本内容,也可以使用正则表达式。

使用正则表达式,匹配内容最好用引号(单双都行)引起来,避免发生歧义。

通配符用来匹配文件名和目录名。

通配符

匹配文件名或者目录名

*:任意一个或多个字符

?:任意单个字符

[a-z]、[0-9]:匹配任意单个字符

基本正则

元字符

  • . :任意单个字符
  • \:表示转义符

  • [a-b]、[A-Z]、[0-9]:匹配文件内容的任意单个字符
  • [[:blank:]]:匹配空白字符,空格

  • ():表示分组
  • [^]:取反

次数表示

  • *:任意字符,表示匹配前面的任意字符,0次也算,尽可能多的匹配

  • . *:任意长度的字符,最少有1次,也就是匹配所有。

  • \?:匹配前面的字符0次或者1次,可有可无

  • \+:匹配前面的字符,最少出现1次,有且>=1

  • \{n\}:匹配前面的字符等于多少次

  • \{m,n\}:匹配前面的字符最少m次,最多n次

  • \{,n\}:匹配前面的字符最多n次,只要比n小,都算

  • \{m,\}:匹配前面的字符最少m次,只要比m大,都算

案例1:匹配ens33出现的IP地址

命令:ifconfig ens33 | grep -w "inet" | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"

位置锚定

  • ^:以什么开始
  • $:以什么结尾
  • ^$:空行

^root$:表示匹配以root为开头和结尾的,即这一行只有root一个单词 

词首锚定

  • \b

词尾锚定

  • \b

分组和逻辑条件

分组:()

或:\|

扩展正则

扩展正则表达式

grep  -E  =  egrep

*:任意字符,表示匹配前面的任意字符,0次也算,尽可能多的匹配

. *:任意长度的字符,最少有1次,也就是匹配所有

?:匹配前面的字符0次或者1次,可有可无

+:匹配前面的字符,最少出现1次,有且>=1

{n}:匹配前面的字符等于多少次

{m,n}:匹配前面的字符最少m次,最多n次

{,n}:匹配前面的字符最多n次,只要比n小,都算

{m,}:匹配前面的字符最少m次,只要比m大,都算

补充案例

案例1:显示/etc/passwd中以sh结尾的行

案例2:查找/etc/inittab中含有“以s开头,并以d结尾的单词模式的行

案例3:查找ifconfig命令结果中的1-255之间的整数

案例4:在/etc/passwd中取出默认shell为bash的行

案例5:高亮显示passwd文件中冒号,及其两侧的字符

cat /etc/passwd | grep -E ".?:.?"

案例6:统计当前主机状态,使用netstat或者ss

方法1:netstat -antp | grep -v "State" | grep -v "Internet" | tr -s " " | cut -d " " -f 6 | sort | uniq -c

方法2:ss -antp | grep -v "State" | cut -d " " -f 1 | sort | uniq -c

案例7:统计nginx的访问日志当中多次出现的ip地址

cat /var/log/nginx/access.log | cut -d " " -f 1 | sort | uniq -c

相关文章:

1、正则表达式

grep匹配 grep用来过滤文本内容,以匹配要查询的结果。 grep root /etc/passwd:匹配包含root的行 -m 数字:匹配几次后停止 -v:取反-i:忽略字符的大小写,默认的,可以不加-n&#xff1a…...

Airsim安装问题:This project was made with a different version of the Unreal Engine.

本文记录如何在 Ubuntu 18.04 系统中配置 AirSim 和 Unreal Engine 4.27,并成功打开默认的 Blocks 环境项目。 环境说明 系统:Ubuntu 18.04Unreal Engine 版本:4.27AirSim:主分支文件路径: Unreal Engine&#xff1a…...

java八股-分布式服务的接口幂等性如何设计?

文章目录 接口幂等token Redis分布式锁 原文视频链接:讲解的流程特别清晰,易懂,收获巨大 【新版Java面试专题视频教程,java八股文面试全套真题深度详解(含大厂高频面试真题)】 https://www.bilibili.com/…...

vscode python code runner执行乱码

打开vscode code runner插件配置,如图所示: 然后在setting.json修改运行python的默认命令: 将原来 替换成 "python":"set PYTHONIOENCODINGutf8 && python", 参考:Vscode——python环境输出中文乱…...

Java中的继承详解

在Java编程中,继承(Inheritance)是一种面向对象编程(OOP)的核心概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。通过继承&a…...

kafka进阶_2.存储消息

文章目录 一、存储消息介绍二、副本同步2.1、数据一致性2.2、HW在副本之间的传递 如果想了解kafka基础架构和生产者架构可以参考 kafka基础和 Kafka进阶_1.生产消息。 一、存储消息介绍 数据已经由生产者Producer发送给Kafka集群,当Kafka接收到数据后&#xff0c…...

如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?

目前市面上主流播放RTSP视频流的方式是用服务器转码方案,这种方案的好处是兼容性更强,可以用于不同的平台,比如:Windows、Linux或者手机端,但是缺点也很明显:延迟高、播放高清或者同时播放多路视频视频容易…...

如何更好地设计SaaS系统架构

SaaS(Software as a Service)架构设计的核心目标是满足多租户需求、支持弹性扩展和高性能,同时保持低成本和高可靠性。一个成功的SaaS系统需要兼顾技术架构、资源利用、用户体验和商业目标。本文从以下几个方面探讨如何更好地设计SaaS系统架构…...

表征对齐在训练DiT模型中的重要性

Diffusion Models专栏文章汇总:入门与实战 前言:训练过DiT模型的读者们肯定有所体会,相比于UNet模型训练难度大了很多,模型不仅很难收敛,而且非常容易训崩,其中一个很重要的原因是没有进行表征对齐&#xf…...

Qt中CMakeLists.txt解释大全

‌Qt从Qt5.15版本开始正式推荐使用CMake进行项目管理‌。 在Qt 5.15之前,虽然可以使用CMake进行构建,但Qt官方更推荐使用qmake。 然而,从Qt5.15开始,Qt官方正式推荐使用CMake作为主要的构建系统,并在Qt 6中进一步加强了…...

【在 PyTorch 中使用 tqdm 显示训练进度条,并解决常见错误TypeError: ‘module‘ object is not callable】

在 PyTorch 中使用 tqdm 显示训练进度条,并解决常见错误TypeError: module object is not callable 在进行深度学习模型训练时,尤其是在处理大规模数据时,实时了解训练过程中的进展是非常重要的。为了实现这一点,我们可以使用 tq…...

数据结构-堆的实现和应用

目录 1.堆的概念 2.堆的构建 3.堆的实现 4.堆的功能实现 4.1堆的初始化 4.2堆的销毁 4.3堆的插入 4.3.1向上调整 4.4堆的删除 4.4.1向下调整法 ​编辑4.5取堆顶 5. 向上调整法和向下调整法比较 6.堆的应用 6.1TOP-K问题 6.2TOP-K思路 6.2.1用前n个数据来建堆 6.…...

数据分析的尽头是web APP?

数据分析的尽头是web APP? 在做了一些数据分析的项目,也制作了一些数据分析相关的web APP之后,总结自己的一些想法和大家分享。 1.web APP是呈现数据分析结果的另外一种形式。 数据分析常见的结果是数据分析报告,可以是PPT或者…...

YOLO系列论文综述(从YOLOv1到YOLOv11)【第3篇:YOLOv1——YOLO的开山之作】

YOLOv1 1 摘要2 YOLO: You Only Look Once2.1 如何工作2.2 网络架构2.3 训练2.4 优缺点 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】【第2篇:YOLO系列论文、代码和主要优缺点汇总】 ——————————…...

容器和它的隔离机制

什么是容器和它的隔离机制? 容器 是一种轻量化的虚拟化技术,它允许多个应用程序共享同一个操作系统(OS)内核,同时为每个应用程序提供自己的运行环境。容器通过利用 Linux 的内核功能(如 Namespaces 和 Cgr…...

【数据结构与算法】排序算法总结:冒泡 / 快排 / 直接插入 / 希尔 / 简单选择 / 堆排序 / 归并排序

1 排序 1.1 冒泡 内排序的交换排序类别 1.1.1 普通实现 public class BubbleSort {/*** 基本的 冒泡排序*/public static void bubbleSort(int[] srcArray) {int i,j; // 用于存放数组下标int temp 0; // 用于交换数值时临时存放值for(i0;i<srcArray.length-1;i){// j …...

Windows Serv 2019 虚拟机 安装Oracle19c,图文详情(超详细)

1、下载安装文件 Oracle官网下载直链&#xff1a;https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_ee 夸克网盘下载&#xff1a;https://pan.quark.cn/s/1460a663ee83 2、新建 Windows Server 2019 虚拟机 &#xff08;超详细&a…...

数字孪生开发之 Three.js 插件资源库(2)

在当今数字化快速发展的时代&#xff0c;数字孪生技术正逐渐成为各个领域的关键技术之一。它通过创建物理实体的虚拟副本&#xff0c;实现对实体的实时监测、模拟和优化&#xff0c;为企业和组织带来了诸多好处&#xff0c;如提高生产效率、降低成本、改进产品质量等。然而&…...

小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)

指针和引用的区别?怎么实现的? 指针和引用有以下一些主要区别。 从概念上来说,指针是一个变量,它存储的是另一个变量的地址。可以通过指针来间接访问所指向的变量。例如,我们定义一个整型指针int *p;,它可以指向一个整型变量的内存地址。而引用是一个别名,它必须在定义的…...

OpenOCD之J-Link下载

NOTE&#xff1a;此篇文章由笔者的 VSCode编辑GCC for ARM交叉编译工具链Makefile构建OpenOCD调试&#xff08;基于STM32的标准库&#xff09;派生而来。 1.下载USB Dirver Tool.exe&#xff0c;选择J-Link dirver&#xff0c;替换成WinUSB驱动。&#xff08;⭐USB Dirver Tool…...

华为云云连接+squid进行正向代理上网冲浪

1 概述 ‌Squid‌是一个高性能的代理缓存服务器&#xff0c;主要用于缓冲Internet数据。它支持多种协议&#xff0c;包括FTP、gopher、HTTPS和HTTP。Squid通过一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求&#xff0c;这使得它在处理请求时具有较高的效率‌。…...

情绪识别项目

文章目录 1、mp4s文件转mp3文件2、Audition下载3、Audition安装4、Audition使用&#xff1a; 1、mp4s文件转mp3文件 在线转&#xff1a;Convert audio to MP3&#xff08;https://audio.online-convert.com/convert-to-mp3&#xff09; 2、Audition下载 Audition CC2019/64位…...

【RISC-V CPU debug 专栏 2.2 -- Hart DM States】

文章目录 Hart DM StatesHart 的 DM 状态1. 不存在(Non-existent)2. 不可用(Unavailable)3. 运行(Running)4. 暂停(Halted)状态转换与复位行为状态指示信号Hart DM States 在 RISC-V 调试架构中,每个可以被选择的硬件线程(hart)处于以下四种调试模块(DM)状态之一…...

从零样本到少样本学习:一文读懂 Zero-shot、One-shot 和 Few-shot 的核心原理与应用!

爆款标题&#xff1a; 《从零样本到少样本学习&#xff1a;一文读懂 Zero-shot、One-shot 和 Few-shot 的核心原理与应用&#xff01;》 正文&#xff1a; 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;Zero-shot、One-shot 和 Few-shot 学习已经成为衡量大语言…...

【LC】3101. 交替子数组计数

题目描述&#xff1a; 给你一个二进制数组nums 。如果一个子数组中 不存在 两个 相邻 元素的值 相同 的情况&#xff0c;我们称这样的子数组为 交替子数组 。返回数组 nums 中交替子数组的数量。 示例 1&#xff1a; 输入&#xff1a; nums [0,1,1,1] 输出&#xff1a; 5 …...

如何构建SAAS项目

在后台使用JDBC方式动态创建用户输入的数据库信息&#xff08;库名、地址、用户名、密码&#xff09; 执行预先写好的sql文件&#xff08;如mybatis的scriptRunner)执行建表语句及插入基础数据&#xff08;管理员用户、普通用户&#xff09;...

树莓派搭建NextCloud:给数据一个安全的家

前言 NAS有很多方案&#xff0c;常见的有 Nextcloud、Seafile、iStoreOS、Synology、ownCloud 和 OpenMediaVault &#xff0c;以下是他们的特点&#xff1a; 1. Nextcloud 优势&#xff1a; 功能全面&#xff1a;支持文件同步、共享、在线文档编辑、视频会议、日历、联系人…...

深入解读 MongoDB 查询耗时:Execution 和 Fetching 阶段详解

在使用 MongoDB 时&#xff0c;查询性能的分析与优化是开发者关注的重点。MongoDB 的查询过程通常分为两个主要阶段&#xff1a;Execution&#xff08;执行阶段&#xff09;和Fetching&#xff08;拉取阶段&#xff09;。每个阶段的耗时代表不同的性能瓶颈&#xff0c;优化思路…...

frida_hook_dlopen(当年到lib目录下找发现一个so都没有,hook下dlopen)

Frida 脚本用于拦截 Android 应用程序中的 dlopen 和 android_dlopen_ext 函数。这两个函数用于动态加载共享库&#xff0c;脚本通过拦截这些函数的调用来记录加载的库的路径。 代码分析 var dlopen Module.findExportByName(null, "dlopen"); // 6.0 var android…...

Zero to JupyterHub with Kubernetes中篇 - Kubernetes 常规使用记录

前言&#xff1a;纯个人记录使用。 搭建 Zero to JupyterHub with Kubernetes 上篇 - Kubernetes 离线二进制部署。搭建 Zero to JupyterHub with Kubernetes 中篇 - Kubernetes 常规使用记录。搭建 Zero to JupyterHub with Kubernetes 下篇 - Jupyterhub on k8s。 参考&…...

wordpress新用户权限/关键词排名seo优化

随着智能家居技术发展越来越成熟&#xff0c;各种各样的智能家居系统也应运而生。从通信方式的角度去认识智能家居&#xff0c;供您在选购时选择最适合自己需求的技术系统&#xff0c;目前主流的智能家居系统通信方式有&#xff1a;总线、无线、电力载波和以太网。 一、基于总…...

功能类网站/项目优化seo

删除shape是1的维度, 不改变数组值 import numpya numpy.arange(10) print(a) >>> [0 1 2 3 4 5 6 7 8 9] b numpy.reshape(a, [1, 1, -1]) print(b) >>> [[[0 1 2 3 4 5 6 7 8 9]]] c numpy.squeeze(a) print(c) >>> [0 1 2 3 4 5 6 7 8 9]...

5台电脑做视频网站服务器/东莞seo排名扣费

shc加密shc是加密脚本的工具&#xff0c;使用RC4加密算法&#xff0c;能把shell程序转化成二进制文件(支持动静态链接库)安装# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz# tar zxvf shc-3.8.9b.tgz# cd shc-3.8.9b# mkdir -p /usr/local/man/man1/# mak…...

德阳网站制作/seo建设招商

圈套模式之投资 在触发器篇&#xff0c;我们讨论了内部触发器的重要性。通过外部触发器产品设计者可以引诱用户做出下一步行动。在行动篇&#xff0c;我们知道用户的一小步行动都是想立即实现潜在的期望。在奖励篇&#xff0c;我们知道不确定的奖励会使用户不断来使用产品。 投…...

东营今日新闻/邯郸seo优化

毫无疑问&#xff0c;AI&#xff08;人工智能&#xff09;已成为了科技巨头保持领先、开拓新机会的核心要素之一。目前&#xff0c;无论是巨头还是创业公司都在积极理解AI&#xff0c;那马化腾先生是如何看待AI领域目前的发展&#xff1f; 为什么要关注AI 去年AlphaGo打赢了人类…...

南通网站上百度首页/五年级下册数学优化设计答案

1.1 数据库系统概述 基本概念&#xff1a; 数据&#xff08;Data&#xff09; 信息&#xff08;information&#xff09; 我国著名的信息学专家钟义信教授认为“信息是事物存在方式或运动状态&#xff0c;以这种方式或状态直接或间接的表述”。 美国信息管理专家霍顿&#x…...