【Linux-三剑客grep/sed/awk】

news/2024/7/27 7:36:22/文章来源:https://blog.csdn.net/sinat_23896491/article/details/136544721

■ grep

命令描述
grep “pattern” file.txt在 file.txt 中搜索 “pattern”。
grep -i “pattern” file.txt忽略大小写搜索 “pattern”。
grep -n “pattern” file.txt显示匹配行的行号。
grep -r “pattern” /path/to/directory递归搜索指定目录。
grep “regex_pattern” file.txt使用正则表达式搜索。
grep -v “pattern” file.txt查找不包含 “pattern” 的行。
grep -c “pattern” file.txt显示匹配的行数。
grep “pattern” file1.txt file2.txt同时搜索多个文件。
grep -A 2 -B 2 “pattern” file.txt显示匹配行的上下文行。
grep “pattern” *在当前目录中的所有文件中搜索 “pattern”。

■ sed

sed 命令的一些常见用法,用于替换、删除、追加文本等文本编辑操作。
sed 是一种强大的文本处理工具,可以根据需要进行高度定制。

命令描述示例
sed ‘s/old/new/’ file.txt替换文本文件中的第一个匹配行的 “old” 为 “new”。sed ‘s/apple/orange/’ fruits.txt
sed ‘s/old/new/g’ file.txt替换文本文件中所有匹配行的 “old” 为 “new”。sed ‘s/apple/orange/g’ fruits.txt
sed ‘2s/old/new/’ file.txt仅替换文件中的第2行匹配的 “old” 为 “new”。sed ‘2s/apple/orange/’ fruits.txt
sed ‘1,3s/old/new/’ file.txt替换文件中第1行到第3行的匹配的 “old” 为 “new”。sed ‘1,3s/apple/orange/’ fruits.txt
sed ‘/pattern/s/old/new/’ file.txt仅替换包含 “pattern” 的行中的 “old” 为 “new”。sed ‘/apple/s/red/g’ fruits.txt
sed ‘/pattern/!s/old/new/’ file.txt仅替换不包含 “pattern” 的行中的 “old” 为 “new”。sed ‘/apple/!s/red/g’ fruits.txt
sed ‘s/old/new/g’ file.txt > newfile.txt将替换后的文本写入新文件。sed ‘s/apple/orange/g’ fruits.txt > newfruits.txt
sed -i ‘s/old/new/g’ file.txt原位编辑(直接修改源文件)并替换 “old” 为 “new”。sed -i ‘s/apple/orange/g’ fruits.txt
sed ‘/^#/d’ file.txt删除文件中以 “#” 开头的行。sed ‘/^#/d’ config.txt
sed ‘/pattern/r file2.txt’ file1.txt将 file2.txt 中的内容附加到包含 “pattern” 的行。sed ‘/apple/r fruits.txt’ drinks.txt

■ awk

awk 命令的一些常见用法,用于处理结构化文本数据、计算、过滤、替换和输出。awk 是一个强大的文本处理工具,可以根据需要进行高度定制。

命令描述示例
awk ‘{print $1}’ file.txt打印每行的第一个字段(默认字段分隔符为空格)。awk ‘{print $1}’ data.txt
awk ‘/pattern/’ file.txt打印包含 “pattern” 的行。awk ‘/apple/’ fruits.txt
awk ‘{print NF}’ file.txt打印每行的字段数(NF 表示字段数)。awk ‘{print NF}’ data.txt
awk -F’:’ ‘{print $1}’ file.txt指定字段分隔符为冒号(:)并打印第一个字段。awk -F’:’ ‘{print $1}’ passwd.txt
awk ‘{sum+=$1} END {print sum}’ file.txt计算第一个字段的总和并打印。awk ‘{sum+=$1} END {print sum}’ numbers.txt
awk ‘$3 >= 50 {print $1, $3}’ file.txt打印第一个和第三个字段,如果第三个字段大于等于 50。awk ‘$3 >= 50 {print $1, $3}’ scores.txt
awk ‘/pattern/ {count++} END {print count}’ file.txt统计包含 “pattern” 的行数。awk ‘/apple/ {count++} END {print count}’ fruits.txt
awk ‘{gsub(“old”, “new”); print}’ file.txt替换所有行中的 “old” 为 “new” 并打印。awk ‘{gsub(“apple”, “orange”); print}’ fruits.txt
awk -v var=“value” ‘{print var, $1}’ file.txt使用变量值在输出中插入数据。awk -v fruit=“apple” ‘{print fruit, $1}’ fruits.txt
awk ‘NR > 1’ file.txt打印除了第一行以外的所有行。awk ‘NR > 1’ data.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_997008.aspx

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

相关文章

【QT】窗口的大小标题图标设置

窗口的大小标题图标设置 添加一个新的类 创建完成&#xff0c;根据上一节最后的在总结&#xff0c;做个测试&#xff1a; #include "mybutton.h" #include <QDebug>//打印&#xff0c;标准输出 MyButton::MyButton(QWidget *parent) : QPushButton(parent) { …

Python爬虫实战(基础篇)—13获取《人民网》【最新】【国内】【国际】写入Word(附完整代码)

文章目录 专栏导读背景测试代码分析请求网址请求参数代码测试数据分析利用lxml+xpath进一步分析将获取链接再获取文章内容测试代码写入word完整代码总结专栏导读 🔥🔥本文已收录于《Python基础篇爬虫》 🉑🉑本专栏专门针对于有爬虫基础准备的一套基础教学,轻松掌握Py…

1分钟带你搞定Python函数分类

python语言中&#xff0c;函数可以分为内置函数、自定义函数、有参数函数、无参数函数、有名字函数和匿名函数。其中&#xff0c;内置函数可以直接使用&#xff0c;自定义函数需要根据需求定义。有参数函数在定义时需要指定参数&#xff0c;调用时传入参数。无参数函数在定义时…

opengl 学习(一)-----创建窗口

创建窗口 分类opengl 学习(一)-----创建窗口效果解析教程补充 分类 c opengl opengl 学习(一)-----创建窗口 demo: #include "glad/glad.h" #include "glfw3.h" #include <iostream> #include <cmath> #include <vector>using names…

MySQL实战45讲——30答疑文章(二):用动态的观点看加锁

目录 不等号条件里的等值查询 等值查询的过程 怎么看死锁&#xff1f; 怎么看锁等待&#xff1f; update 的例子 小结 上期问题时间 提示 文章摘自林晓斌老师《MySQL实战45讲》&#xff0c;作为笔记而用&#xff0c;故有加一些自己的理解。在第[20]和[21]篇文章中&…

链路聚合+VRRP

链路聚合---作用&#xff1a; 将多条链路聚合为一条逻辑链路&#xff0c;起到叠加带宽的作用 1.通道对端必须是一个设备 2.聚合的链路带宽必须一致 3.聚合的链路配置必须一致---华为设备为了保证聚合的链路配置一致&#xff0c;限制如果聚合的链路存在配 置&#xff0c;则不…

使用 Docker 部署 MrDoc 在线文档管理系统

1&#xff09;MrDoc 介绍 MrDoc 简介 MrDoc 觅思文档&#xff1a;https://mrdoc.pro/ MrDoc 使用手册&#xff1a;https://doc.mrdoc.pro/p/user-guide/ MrDoc 可以创建各类私有化部署的文档应用。你可以使用它进行知识管理、构建团队文库、制作产品手册以及在线教程等。 Mr…

存储架构 NAS 与 SAN:有什么区别?

SAN&#xff08;Storage Area Network&#xff09;和NAS&#xff08;Network Attached Storage&#xff09;是两种存储架构&#xff0c;它们在数据存储和管理方面有着不同的设计理念和应用场景。SAN通常将存储设备连接到一个独立的高速网络&#xff0c;而NAS则通过普通的网络协…

Java:JVM基础

文章目录 参考JVM内存区域程序计数器虚拟机栈本地方法栈堆方法区符号引用与直接引用运行时常量池字符串常量池直接内存 Hotspot虚拟机对象创建过程虚拟机对象的内存布局对象访问 class文件结构 类加载过程加载验证准备解析初始化使用卸载 参考 JavaGuide JVM内存区域 程序计数…

小白在VMware Workstation Pro上安装部署SinoDB V16.8

一、安装环境说明 CPU&#xff1a;2核或以上&#xff0c;内存&#xff1a;2G或以上&#xff1b;磁盘10G或以上&#xff1b;网卡&#xff1a;千兆 1.1检查服务器内存大小 命令&#xff1a;free -m 1.2检查服务器磁盘空间大小 命令&#xff1a;df -h 1.3检查服务器网络配置信息 命…

antvX6 - Vue自定义节点,并实现多种画布操作,拖拽、缩放、连线、双击、检索等等

一、 首先 antv x6 分为两个版本 低版本和高版本 我这里是使用的2.0版本 并且搭配了相关插件 例如&#xff1a;画布的图形变换、地图等 个人推荐 2.0版本&#xff0c;高版本配置多&#xff0c;可使用相关插件多&#xff0c;但是文档描述小&#xff0c;仍在更新&#xff0c; 低…

(正规api接口代发布权限)短视频账号矩阵系统实现开发--技术全自动化saas营销链路生态

短视频账号矩阵系统实现开发--技术全自动化saas营销链路生态源头开发&#xff08;本篇禁止抄袭复刻&#xff09; 一、短视频矩阵系统开发者架构 云罗短视频矩阵系统saas化系统&#xff0c;开发层将在CAP原则基础上使用分布式架构,对此网站的整体架构采用了基于B/S三层架构模式…

R语言数据可视化之美专业图表绘制指南(增强版):第1章 R语言编程与绘图基础

第1章 R语言编程与绘图基础 目录 第1章 R语言编程与绘图基础前言1.1 学术图表的基本概念1.1.1 学术图表的基本作用1.1.2基本类别1.1.3 学术图表的绘制原则 1.2 你为什么要选择R1.3 安装 前言 这是我第一次在博客里展示学习中国作者的教材的笔记。我选择这本书的依据是作者同时…

input输入框的23中类型

HTML 的 <input> 元素支持多种类型&#xff0c;这些类型决定了用户如何与表单控件进行交互。以下是 HTML5 中 <input> 元素的 23 种类型&#xff0c;以及每种类型的代码示例和效果图的描述&#xff08;请注意&#xff0c;由于文本的限制&#xff0c;我无法直接在这…

STM32day2

1.思维导图 个人暂时的学后感&#xff0c;不一定对&#xff0c;没什么东西&#xff0c;为做项目奔波中。。。1.使用ADC采样光敏电阻数值&#xff0c;如何根据这个数值调节LED灯亮度。 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */adc_val HAL_ADC_GetValue(&a…

Hello C++ (c++是什么/c++怎么学/c++推荐书籍)

引言 其实C基础语法基本上已经学完&#xff0c;早就想开始写C的博客了&#xff0c;却因为其他各种事情一直没开始。原计划是想讲Linux系统虚拟机安装的&#xff0c;后来考虑了一下还是算了&#xff0c;等Linux学到一定程度再开始相关博客的写作和发表吧。今天写博客想给C开个头…

JS函数

目录 1.Function声明 2.匿名函数 3.函数表达式 4.箭头函数 5.构造函数 个人版JS函数使用&#xff1a; 函数的声明&#xff1a;函数如果有return则返回的是 return 后面的值&#xff0c;如果函数没有有return 声明方式一&#xff1a; 声明方式二&#xff1a;变量名声明…

Java ElasticSearch面试题

Java ES-ElasticSearch面试题 前言1、ElasticSearch是什么&#xff1f;2. 说说你们公司ES的集群架构&#xff0c;索引数据大小&#xff0c;分片有多少 &#xff1f;3. ES的倒排索引是什么&#xff1f;4. ES是如何实现 master 选举的?5. 描述一下 ES索引文档的过程&#xff1a;…

STM32CubeMX学习笔记15---CAN总线

1、CAN简介 CAN总线网络的结构有闭环和开环两种形式 闭环结构的CAN总线网络&#xff0c;总线两端各连接一个1202的电阻。这种CAN总线网络由ISO11898标准定义&#xff0c;是高速、短距离的CAN网络&#xff0c;通信速率为125kbit/s到1Mbit/s。在1Mbit/s通信速率时&#x…

基于springboot的作业管理系统论文

摘 要 使用旧方法对作业管理信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在作业管理信息的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题。 这次开发的作业管理系统有…