Linux:grep进阶(11)
Linux:shell脚本:基础使用(4)《正则表达式-grep工具》_shell grep 全角字符串-CSDN博客
https://blog.csdn.net/w14768855/article/details/132338954?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170833601716800226594687%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170833601716800226594687&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-132338954-null-null.nonecase&utm_term=grep&spm=1018.2226.3001.4450这个是grep的基础使用,本章则搭配着正则表达式之上再加更多的参数进行演示
基础正则表达式
^word 搜索以word开头的。vi/vim中 ^ 一行的开头。
word$ 搜索以word结尾的。vi/vim中 $ 一行的结尾。 \$
^$ 表示空行
. 代表且只能代表任意一个字符
\ 例:\. 只代表点本身,转义符号,让有特殊身份意义的字符,脱掉马甲,还原;
\n 换行符
\r 匹配回车
\w 匹配任意一个字符和数字
* 重复0次或多次前面的一个字符。
* 匹配所有字符。例:^.* 以任意多个字符开头,.*$以任意多个字符结尾。
[abc] 匹配字符集内的任意一个字符。
[^abc] 匹配不包含 ^ 后的任意字符的内容。中括号里的 ^ 为取反。
[1-9] 表示匹配括号内的范围内的任意字符。
a\{n,m\} 重复n到m次前一个重复的字符。若用egrep、sed -r可以去掉斜线。
\{n,\} 重复至少n 次前一个重复的字符。若用egrep、sed -r可以去掉斜线。
\{n\} 重复n 次前一个重复的字符。若用egrep、sed -r可以去掉斜线。
\{,m}\ 重复少于m次。
扩展的正则表达式:
+ 重复一次或一次以上前面的一个字符。等同于\{n,}
? 重复0次或一次前面的一个字符。等同于\{,m}
| 或者的意思,用或的方式查找多个符合的字符串。
() 找出括号内的字符串。
理解正则
^linux ##以linux开始
linux$ ##以linux结束
linuxfan. ##匹配linuxfans等
coo[kl] ##匹配cool或cook
9[^5689] ##匹配91,92等,但不匹配95,98等
[0-9] ##匹配任意一个所有的数字
[a-z]|[A-Z] ##匹配任意一个所有大小写字母,|属于扩展正则grep -E支持
colou?r ##匹配color或colour,但是不能匹配colouur
rollno-9+ ##匹配rollno-9、rollno-99,rollno-999,但不匹配rollno-
co*l ##匹配cl,col,cool,coool等
ma(tri)x ##匹配matrix
[0-9]{3} ##匹配任意一个三位数,等于[0-9][0-9][0-9]
[0-9]{2,} ##匹配任意一个两位数或更多位的数字
[0-9]{2,5} ##匹配从两位数到五位数之间的任意一个数字
Oct (1st|2nd) ##匹配Oct 1st或Oct 2nd
a\.b ##匹配a.b,但不能匹配ajb
[a-z0-9_]+\@[a-z0-9_]+\.[a-z]{2,4} ##匹配一个邮箱地址
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ##匹配IP地址
grep常用的参数

grep用法演示
cat /etc/passwd | grep -e root -e tarro -e ftp# 查询/etc/passwd 多个字符串 -e 后面就是一个指定的字符串可以指定多个
grep -R -o -n -E '[a-z0-9_]+\@[a-z0-9_]+\.[a-z]{2,4}' /etc/目录下的所有文件中的邮件地址
-R递归,-n表示匹配的行号,-o只输出匹配内容,-E支持扩展正则表达式
grep -R -c 'HOSTNAME' /etc/ |grep -v "0$"查找/etc/目录下文件中包含“HOSTNAME”的次数,-c统计匹配次数,-v取反
grep -R -l 'HOSTNAME' /etc/查找包含“HOSTNAME”的文件名,-l显示匹配的文件名,-L显示不匹配的文件名
cat /etc/passwd |grep -c bash$统计系统中能登录的用户的个数,以bash结尾的个数
ip a |grep -E '^[0-9]' |awk -F : '{print^C2}'获取系统中网卡名称
ip a |grep mtu|grep -o -E "[a-z]{3}[0-9]{1,}"也是获取系统中网卡名称
ifconfig ens33 |grep -E -o 'inet [^ ]*' |grep -o '[0-9.]*'获取指定网卡的ip地址
ip a |grep inet |grep ens33 |grep -o "inet[^/]*" |grep -o "[0-9.]*"获取指定网卡的ip
ifconfig ens33 |grep -i ether |awk '{print $2}'截取指定网卡的mac地址
cat 123 | grep -A 3 5查找指定字符串并且连续显示向下3行
cat 123 | grep -B 3 5查找指定字符串并且连续显示向上3行
相关文章:
Linux:grep进阶(11)
Linux:shell脚本:基础使用(4)《正则表达式-grep工具》_shell grep 全角字符串-CSDN博客https://blog.csdn.net/w14768855/article/details/132338954?ops_request_misc%257B%2522request%255Fid%2522%253A%252217083360171680022…...
【实战】二、Jest难点进阶(一) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(五)
文章目录 一、Jest 前端自动化测试框架基础入门二、Jest难点进阶1.snapshot 快照测试 学习内容来源:Jest入门到TDD/BDD双实战_前端要学的测试课 相对原教程,我在学习开始时(2023.08)采用的是当前最新版本: 项版本babe…...
8.2 新特性 - 透明的读写分离
文章目录 前言1. 安装部署1.1 下载安装包1.2 MySQL Shell1.3 配置 MySQL 实例1.4 启动 ReplicaSet1.5 启动 8.2 Router 2. 测试路由总结 前言 MySQL 8.0 官方推出过一个高可用方案 ReplicaSet 主要由 Router、MySQL Shell、MySQL Server 三个组件组成。 MySQL Shell 负责管理…...
关于三维GIS开发成长路线的一些思考
三维GIS是将GIS三维化表达,从一个三维GIS开发门外汉的角度来看,三维GIS开发成长路线分几个层面: 第一层面 做三维开发,最基本的Cesium、ThreeJS、MapBox这些要能做到接口级熟悉,熟悉接口是用来干嘛的,接口…...
git操作---> 使用git push,和使用git push origin HEAD:[分支名]有什么区别呢?
git push origin HEAD:branch2: 这个命令显式地指定了你要推送的本地引用(HEAD),以及远程仓库的目标引用(origin/branch2)。 HEAD 是一个引用,指向你当前所在的本地分支的最新提交。 这个命令的意图是将当…...
基于Java的大学社团管理平台
功能介绍 平台采用B/S结构,后端采用主流的Springboot框架进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、社团详情、申请加入、用户中心模块。后台功能包括:社团管理、分类管理…...
1.函数模板基础
1.1函数模板作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类型来代表,提高复用性 1.2语法: //第一种 template <typename T> 函数声明或定义//第二种 template <class T&…...
22-k8s中pod的调度-亲和性affinity
一、概述 在k8s当中,“亲和性”分为三种,节点亲和性、pod亲和性、pod反亲和性; 亲和性分类名称解释说明nodeAffinity节点亲和性通过【节点】标签匹配,用于控制pod调度到哪些node节点上,以及不能调度到哪些node节点上&…...
通俗易懂,Spring Bean生命周期管理的理解
目录 1、实例化阶段 2、初始化阶段 3、销毁阶段 总结 在Spring框架中,Bean是最基本的组件,它是Spring框架中的一个Java对象。 下面通过Bean来理解bean的生命周期: Bean(initMethod "customInit", destroyMethod "cust…...
找座位 - 华为OD统一考试(C卷)
OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。 现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位…...
npm run dev运行出现NODE_OPTIONS=--max_old_space_size=4096 vite --mode dev --host?
问题描述 PS E:\AWorkDataease\DataEase\core\core-frontend> npm run dev dataease0.0.0 dev NODE_OPTIONS–max_old_space_size4096 vite --mode dev --host 0.0.0.0 ‘NODE_OPTIONS’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 解决方案 遇到…...
钠离子电池技术
一、什么是钠离子电池 1、发展背景 在现有电池技术中,锂离子电池(LIB)具有无与伦比的能量密度和多功能性。自其首次商业化以来,便携式设备一直在推动其高速增长。近年,电动汽车和固定式储能应用开始兴起。由于锂离子…...
第三十六天| 435. 无重叠区间、763.划分字母区间、56. 合并区间
Leetcode 435. 无重叠区间 题目链接:435 无重叠区间 题干:给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 思考:贪心法。和452 用最少数量的…...
React setState同步还是异步
React18 setState是同步还是异步?_react18 同步-CSDN博客 React18之前或者React18使用了ReactDOM.render,setState在React调度流程中是异步更新,在原生事件和setTimeout中是同步更新。React18使用ReactDOM.createRoot,那么默认都是…...
Docker安装和使用Redis
Docker安装和使用Redis 一、拉取 Redis 镜像二、根据镜像运行容器三、配置 Redis 密码1、进入 redis 容器内部2、使用 redis 命令行设置密码 一、拉取 Redis 镜像 docker pull redis二、根据镜像运行容器 docker run \ --name redis \-p 6379:6379 \-d \redis \redis-server …...
四分位距IQR_ interquartile range
四分位距IQR_ interquartile range 1 IQR(Interquartile Range)四分位距的含义2 如何计算IQR参考: 1 IQR(Interquartile Range)四分位距的含义 官方定义: 四分位距(interquartile range, IQR&a…...
Vision Transformer - VIT
文章目录 1. Embedding层2. Encoder层3. MLP Head层4. Hybrid混合模型 论文:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 网址:https://arxiv.org/abs/2010.11929 Hybrid - 传统CNN和Transformer混合模型 模型架构 输…...
HTTP与HTTPS:网络安全之门户
源码分享 https://docs.qq.com/sheet/DUHNQdlRUVUp5Vll2?tabBB08J2 在进行网页爬取和数据收集时,我们经常会与HTTP(超文本传输协议)和HTTPS(安全的超文本传输协议)打交道。这两种协议都用于互联网上的数据传…...
头歌:共享单车之数据分析
第1关 统计共享单车每天的平均使用时间 package com.educoder.bigData.sharedbicycle;import java.io.IOException; import java.text.ParseException; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.Locale; import java…...
MySQL的数据类型和细节
1.整型 数值类型字节描述TINYINT[UNSIGNED]1很小的整数,默认有符号 [-128,127]/[0,255]SMALLINT[UNSIGNED]2较小的整数,默认有符号 [-32768,32767]/[0,65535]MEDIUMINT[UNSIGNED]3中等的整数,默认有符号 [-8388608,8388607]/[0,16777215]…...
告别在线翻译限制!Hunyuan-MT 7B本地部署保姆级教程,零基础上手
告别在线翻译限制!Hunyuan-MT 7B本地部署保姆级教程,零基础上手 你是否经常遇到这些困扰: 使用在线翻译时担心敏感文档内容泄露遇到小语种翻译结果不准确,特别是韩语敬语和俄语变位错误需要翻译大量文本但受限于API调用次数专业…...
智能家居中枢:OpenClaw桥接Qwen3.5-9B实现语音控制图片检索
智能家居中枢:OpenClaw桥接Qwen3.5-9B实现语音控制图片检索 1. 为什么需要智能家居中的图片检索 每次家庭聚会后整理照片都让我头疼。手机相册里堆积着上千张照片,当亲友们围坐在客厅想回顾某次旅行时,"找那张在雪山前跳起来的合影&qu…...
【2026 CVPR】Asking like Socrates: Socrates helps VLMs understand remote sensing images
RS-EoT (Remote Sensing Evidence-of-Thought) 研究旨在解决视觉语言模型(VLM)在处理遥感图像时的“虚假推理”问题 。 文章目录 核心问题 核心思想 核心方法 A. 数据合成:SocraticAgent Data Statistics B. 训练策略:两阶段渐进式强化学习 (RL) C. 训练策略 实验验证 主要…...
Android音频开发避坑指南:用OboeTester的Device Report快速排查耳机兼容性问题
Android音频开发实战:用OboeTester精准诊断耳机兼容性问题 当你在星巴克掏出Type-C耳机准备调试刚写完的音频播放代码,却发现设备死活不出声——这种崩溃瞬间每个Android音频开发者都经历过。数字耳机兼容性问题就像薛定谔的猫,不到实际连接那…...
剧本杀app2025推荐,多类型剧本体验与社交互动优势
剧本杀app2025推荐,多类型剧本体验与社交互动优势在当今娱乐多元化的时代,剧本杀凭借其独特的角色扮演和推理乐趣,成为了众多年轻人喜爱的社交娱乐方式。据《2025 年中国剧本杀行业发展报告》显示,2025 年剧本杀市场规模持续增长&…...
深入理解Python @dataclass:从基础到高级用法
Python 3.7引入了dataclass装饰器,这是一个强大的工具,能够显著减少数据类的样板代码。本文将详细介绍dataclass的各种用法,特别是如何正确处理可变默认值和类型注解。 什么是dataclass dataclass是位于dataclasses模块中的装饰器,…...
2009 Text 1
2009 Text 1...
GitHub中文插件终极指南:3分钟让GitHub界面全面中文化
GitHub中文插件终极指南:3分钟让GitHub界面全面中文化 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 你是否曾经因为GitH…...
【FastAPI】 + SQLAlchemy 异步 ORM 实现完整 CRUD 操作
🚀从零实战:FastAPI SQLAlchemy 异步 ORM 实现完整 CRUD 操作(附完整代码) 一、为什么要学「FastAPI SQLAlchemy 异步 ORM」? 在现代 Web 服务中,数据库是核心组件。然而,传统同步操作&#x…...
RK3399 DRM显示框架实战:从零开始搭建多图层视频播放器
RK3399 DRM显示框架实战:从零构建多图层视频播放器 在智能终端设备开发领域,如何高效实现多媒体内容的叠加显示一直是工程师们面临的挑战。想象一下,当我们需要在教育平板上同时播放教学视频、展示动态课件和实时标注内容时,传统的…...


