一、grep和egrep的用法

(一)grep用法

grep是根据给出的条件查找特定的字符。用单引号查找指定的单词,图1.1。grep后面可选项用**-n显示查找的行数;-i不区分大小写查找图1.2 。-v**是反选指定要查找的内容。图1.3

图1.1 查找到的会用红色表示出来


图1.2

图1.3

利用中括号**“[ ]”查找集合字符。比如想要查找“short和shirt”两个单词,我们发现这两个单词不同之处在于“o和i”,可以将[oi]放在中括号里查找。图1.4
图1.4

若要查找某个单词但是又不想里面出现某个字符可以用“[^]”表示反向选择,图1.5。
图1.5

若要想查找以指定的字符为开头的时候要:“1”**在括号外面加箭头。图1.6
图1.6

利用{ }查找指定次数的字符。在使用时需要打上转义符号。
图1.7

4.egrep作为grep的拓展正则表达式,grep只能使用基本的正则表达式,而egrep则需要结合扩展的正则表达式一起使用。
+:作用是重复一个或者一个以上的前一个字符。
图1.8

?:作用是对前一个字符进行查询,也可以理解为前一个字符是否存在。
图1.9

|:作用是表达或的意思。
图1.10

():作用是查找括号中符合条件的字符串。
图1.11

()+:作用是辨别括号中的多个重复组。
图1.12

如果在文章中加入其它字符egrep是无法识别的。

(二)sed用法

sed作为一个十分强大的文本编辑工具,可以对文本进行筛选、删除、添加等操作,但是其是在内存中进行操作。

显示,一般的我们sed显示内容用:sed -n ‘p’ 路径来显示内容。如果说你想查看其中一行或几行则sed -n ‘3,5p’ 路径,来查看。

如果想查看奇数行或偶数行则sed -n ‘p;n’ 路径或sed -n ‘n;p’ 路径来显示。
图1.1 sed用来显示全文或部分文章


想要从指定行开始查看奇偶数行这里要注意一下如sed -n ‘3,5{p;n}’ 路径从第三行开始算作第一行并且会执行完print和not print才会结束。
图2.2 sed查看奇偶行


查看指定字符,sed -n ‘/字符/p’ 路径。如果想要查看从指定行开始到第一个出现指定字符的所在行就用,sed -n ‘指定行开始,/指定字符/p’ 路径这种形式。
图2.3 sed查看指定字符所在行


显示指定的行号:sed -n ‘指定的行号,/指定的字符/=’ 路径形式。
图2.4 sed查看行数

要想输出包含某个指定字符的行:sed -n ‘/反撇号<反撇号指定字符>/p’ 路径。
图2.5 sed查看指定字符所在行


删除内容,删除某行:nl 路径 | sed ‘某行d’,删除连续几行:nl 路径 | sed '行号1~行号2’
图2.6 sed删除行

删除指定字符所在行:nl路径 | sed ‘/指定字符/d’。
图2.7 sed删除指定字符所在行


替换内容,替换每行第一个指定字符:sed ‘s/指定字符/替换字符/’ 路径。
图2.8 sed偷换字符

替换每行第二个指定字符:sed ‘s/指定字符/替换字符’ 路径。
将所有指定字符替换:sed ‘s/指定字符/替换字符/g’ 路径。
图2.9 sed替换全体指定字符

将指定字符进行删除(替换为空串):sed 's/指定字符/ /'路径。
图2.10 sed将指定字符替换成空串

在每行行首添加#:sed ‘s/^/#’ 路径。
图2.21 行首添加#号

在每行指定字符前添加#:sed ‘/the/s/^/#/’ 路径。
图2.22 在指定字符前添加#

5.迁移稳文本时需要用到H复制到剪切板,g和G将剪贴板中的数据覆盖或追加至指定的行。w,保存为文件。r,读取指定文件。a,追加指定内容。
图2.23

图2.24

图2.25

图2.26

二、总结

正则表达式需要记住的点非常多,这里只是整理了grep和sed的一些常用用法,在后续还会更新awk用法与sort和uniqe用法。希望喜欢我博客的大佬们点赞哦!

————————————————
版权声明:本文为CSDN博主「QwQNightmare」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/QwQNightmare/article/details/103374240

正则表达式之grep与sed用法的更多相关文章

  1. 正则表达式与grep和sed

    正则表达式与grep和sed 目录 1.正则表达式 2.grep 3.sed grep和sed需要正则表达式,我们需要注意的正则表达式与通配符用法的区分. 1.正则表达式 REGEXP,正则表达式:由 ...

  2. Linux正则表达式,grep总结,sed用法

    原文: 1.sed   流编辑器,实现对文字的增删改替换查(过滤.取行),能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件 输入到屏幕,可以把只匹配到模式的内容输入到屏幕上.还可以对原文件 ...

  3. Linux基础-正则表达式整理---------------grep、sed、awk

    目录:    Ⅰ:正则表达式    Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在lin ...

  4. Linux基础之-正则表达式(grep,sed,awk)

    一. 正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式是对字符串操作的一种逻辑公 ...

  5. 正则表达式(grep,awk,sed)和通配符

    1. 正则表达式 1. 什么是正则表达式? 正则表达式就是为了处理大量的字符串而定义的一套规则和方法. 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串. Linux正则 ...

  6. 正则表达式利用grep和sed处理日志内容,获取所需的内容

    app.log文件内容: 2014-09-11 00:00:01,516 INFO [com.tt.bb.thread.Control] - Socket连接:/182.105.83.33:53217 ...

  7. grep、sed、awk、perl、js、vim等对正则表达式的支持的差别

    grep.sed.awk.perl等对正则表达式的支持的差别 grep 2.5.1 egrep 2.5.1 sed 3.02 sed 4.07 awk 3.1.1 perl 5.8.0 vim 6.1 ...

  8. Linux文本三剑客超详细教程---grep、sed、awk

    awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单 ...

  9. linux四剑客-grep/find/sed/awk/详解-技术流ken

    四剑客简介 相信接触过linux的大家应该都学过或者听过四剑客,即sed,grep,find,awk,有人对其望而生畏,有人对其爱不释手.参数太多,变化形式太多,使用超级灵活,让一部分人难以适从继而望 ...

  10. 【Linux】linux中文本操作利器grep,awk,sed

    grep命令 grep(global search regular expression)是一种强大的文本搜索工具,它可以使用正则表达式搜索文本,并把匹配的行打印出来.平时搜索文本中内容的时候是非常方 ...

随机推荐

  1. 介绍五个很实用的IDEA使用技巧

    日常开发中,相信广大 Java 开发者都使用过 IntelliJ IDEA 作为开发工具,IntelliJ IDEA 是一款优秀的 Java 集成开发环境,它提供了许多强大的功能和快捷键,可以帮助开发 ...

  2. 「codeforces - 1633F」Perfect Matching

    link. 首先所有的 activated nodes 组合成了一棵以 \(1\) 为根的有根树.询问即求由 activated nodes 组成的树的最大匹配.对于树上最大匹配有一个贪心策略:自底向 ...

  3. 在 Net7.0 环境下使用 RestSharp 发送 Http(FromBody和FromForm)请求

    一.简介 最近,在做一个数据传输的服务,我在一个Worker Service里面需要访问 WebAPI 接口,并传输数据,也可以提交数据.由于第一次使用 RestSharp 发送请求,也遇到了很多问题 ...

  4. .NET高性能开发-位图索引(一)

    首先来假设这样一个业务场景,大家对于飞机票应该不陌生,大家在购买机票时,首先是选择您期望的起抵城市和时间,然后选择舱等(公务舱.经济舱),点击查询以后就会出现航班列表,随意的点击一个航班,可以发现有非 ...

  5. 深入探讨I/O模型:Java中的阻塞和非阻塞和其他高级IO应用

    引言 I/O(Input/Output)模型是计算机科学中的一个关键概念,它涉及到如何进行输入和输出操作,而这在计算机应用中是不可或缺的一部分.在不同的应用场景下,选择正确的I/O模型是至关重要的,因 ...

  6. js下IE和FF的一些兼容写法总结

    一.脚本差异: 1.事件绑定:addEventListener 与 attachEvent  事件处理函数中this指向不同, IE中指向window 2.获取事件对象 :事件处理函数     win ...

  7. [数据分析与可视化] 基于Python绘制简单动图

    动画是一种高效的可视化工具,能够提升用户的吸引力和视觉体验,有助于以富有意义的方式呈现数据可视化.本文的主要介绍在Python中两种简单制作动图的方法.其中一种方法是使用matplotlib的Anim ...

  8. 栈源代码(c++)

    stack.h #ifndef STACK_H_ #define STACK_H_ #include<iostream> template<class T> struct No ...

  9. .NET领域性能最好的对象映射框架Mapster使用方法

    Mapster是一个开源的.NET对象映射库,它提供了一种简单而强大的方式来处理对象之间的映射.在本文中,我将详细介绍如何在.NET中使用Mapster,并提供一些实例和源代码. 和其它框架性能对比: ...

  10. 报错Error running 'Tomcat 9.0.68': Can't find catalina.jar【解决办法】

    修改tomcat路径,肯定是你移动了jar包在硬盘的位置 将路径改成当前所在的文件位置