正则表达式之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

posted @ 2022-05-23 18:16  Magiclala  阅读(743)  评论(0编辑  收藏  举报