正则表达式之grep与sed用法
一、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用法的更多相关文章
- 正则表达式与grep和sed
正则表达式与grep和sed 目录 1.正则表达式 2.grep 3.sed grep和sed需要正则表达式,我们需要注意的正则表达式与通配符用法的区分. 1.正则表达式 REGEXP,正则表达式:由 ...
- Linux正则表达式,grep总结,sed用法
原文: 1.sed 流编辑器,实现对文字的增删改替换查(过滤.取行),能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件 输入到屏幕,可以把只匹配到模式的内容输入到屏幕上.还可以对原文件 ...
- Linux基础-正则表达式整理---------------grep、sed、awk
目录: Ⅰ:正则表达式 Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在lin ...
- Linux基础之-正则表达式(grep,sed,awk)
一. 正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式是对字符串操作的一种逻辑公 ...
- 正则表达式(grep,awk,sed)和通配符
1. 正则表达式 1. 什么是正则表达式? 正则表达式就是为了处理大量的字符串而定义的一套规则和方法. 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串. Linux正则 ...
- 正则表达式利用grep和sed处理日志内容,获取所需的内容
app.log文件内容: 2014-09-11 00:00:01,516 INFO [com.tt.bb.thread.Control] - Socket连接:/182.105.83.33:53217 ...
- 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 ...
- Linux文本三剑客超详细教程---grep、sed、awk
awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单 ...
- linux四剑客-grep/find/sed/awk/详解-技术流ken
四剑客简介 相信接触过linux的大家应该都学过或者听过四剑客,即sed,grep,find,awk,有人对其望而生畏,有人对其爱不释手.参数太多,变化形式太多,使用超级灵活,让一部分人难以适从继而望 ...
- 【Linux】linux中文本操作利器grep,awk,sed
grep命令 grep(global search regular expression)是一种强大的文本搜索工具,它可以使用正则表达式搜索文本,并把匹配的行打印出来.平时搜索文本中内容的时候是非常方 ...
随机推荐
- Solution Set -「ABC 197」
「ABC 197A」Rotate Link. 略. #include<bits/stdc++.h> using namespace std; int main(){ char a,b,c; ...
- [HNCTF 2022 WEEK2]e@sy_flower
花指令分析 如果没接触过花指令,先看这个博客,大致了解一下花指令 https://www.cnblogs.com/Here-is-SG/p/15802040.html 点击此处下载附件 查壳 32位, ...
- Django框架——Django与Ajax、分页器
文章目录 1 Django与Ajax 一 什么是Ajax 优点: 二 基于jquery的Ajax实现 Ajax-->服务器-->Ajax执行流程图 三 案例 一 通过Ajax,实现前端输入 ...
- 每天5分钟复习OpenStack(五)CPU虚拟化
KVM 虚拟化之CPU 虚拟化存在是为了更高效的利用物理机的资源,而虚拟机技术主要是针对三大组件,分别是CPU虚拟化.存储虚拟化.网络虚拟化.下面我们分别介绍下三大组件的常用知识. CPU 虚拟化 1 ...
- MAC Big Sur系统升级导致三星移动硬盘T7无法识别解决方案
一.问题 MAC系统升级后总是导致三星移动硬盘(加密)无法被识别,影响正常使用.问售后让去官网下载最新驱动,第一次升级有用,在升级就没用了. 升级系统版本MAC 15.5.1重新安装官网驱动仍然无法识 ...
- 回文自动机(PAM) 详解
PAM 是一种高效存储字符串中所有回文子串的自动机,用于解决回文串相关问题. 虽然代码稍微长一点,但写起来比 manacher 容易很多,毕竟没有加了一堆字符再转回原串的若干上取整下取整问题. 前置知 ...
- 2023 SHCTF-校外赛道 WEB WP
WEEK1 babyRCE <?php $rce = $_GET['rce']; if (isset($rce)) { if (!preg_match("/cat|more|less| ...
- 51单片机控制w5500实现udp组播通信
51单片机控制w5500实现udp组播通信 在socket打开之前,向Sn_MR (Socket n 模式寄存器)寄存中写入 0x82(1000 0010),将W5500加入组播组 对Sn_DIPR ...
- 3款免费又好用的 Docker 可视化管理工具
前言 Docker提供了命令行工具(Docker CLI)来管理Docker容器.镜像.网络和数据卷等Docker组件.我们也可以使用可视化管理工具来更方便地查看和管理Docker容器.镜像.网络和数 ...
- [ABP] PostgreSQL在.NET 6.0使用DateTime类型抛出异常:timestamp with time zone
今晚操起久违的 ABP 框架搭了个新项目: .NET 运行时版本:6.0.3 ABP 版本:v5.2.0-rc.2 版本. 数据库:PostgreSQL v10.x 一顿操作猛如虎,直接用 dotne ...