正则表达式之grep与sed用法

正则表达式之grep与sed用法

对于操作系统管理员来说,使用正则表达式处理日常产生的信息是非常有用的。其中主要的正则表达式三剑客有:grep、sed和awk。今天主要讲解grep和sed的用法。

(一)、grep和egrep的用法

一、grep用法

  1. grep是根据给出的条件查找特定的字符。用单引号查找指定的单词,图1.1。grep后面可选项用**-n显示查找的行数;-i不区分大小写查找图1.2 。-v**是反选指定要查找的内容。图1.3
    图1.1 查找到的会用红色表示出来在这里插入图片描述
    图1.2
    在这里插入图片描述
    图1.3
    在这里插入图片描述
  2. 利用中括号**“[ ]”查找集合字符。比如想要查找“short和shirt”两个单词,我们发现这两个单词不同之处在于“o和i”,可以将[oi]放在中括号里查找。图1.4
    图1.4
    在这里插入图片描述
    若要查找某个单词但是又不想里面出现某个字符可以用
    “[^]”表示反向选择,图1.5。
    图1.5
    在这里插入图片描述
    若要想查找以指定的字符为开头的时候要:
    1”**在括号外面加箭头。图1.6
    图1.6
    在这里插入图片描述
  3. 利用{ }查找指定次数的字符。在使用时需要打上转义符号。
    图1.7
    在这里插入图片描述
    4.egrep作为grep的拓展正则表达式,grep只能使用基本的正则表达式,而egrep则需要结合扩展的正则表达式一起使用。
    +:作用是重复一个或者一个以上的前一个字符。
    图1.8
    在这里插入图片描述
    ?:作用是对前一个字符进行查询,也可以理解为前一个字符是否存在。
    图1.9
    在这里插入图片描述
    |:作用是表达
    的意思。
    图1.10
    在这里插入图片描述
    ():作用是查找括号中符合条件的字符串。
    图1.11
    在这里插入图片描述
    ()+:作用是辨别括号中的多个重复组。
    图1.12
    在这里插入图片描述
    如果在文章中加入其它字符egrep是无法识别的。
    在这里插入图片描述

二、sed用法

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

  1. 显示,一般的我们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查看奇偶行
    在这里插入图片描述

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

    显示指定的行号:sed -n ‘指定的行号,/指定的字符/=’ 路径形式。
    图2.4 sed查看行数
    在这里插入图片描述
    要想输出包含某个指定字符的行:sed -n ‘/反撇号<反撇号指定字符>/p’ 路径
    图2.5 sed查看指定字符所在行
    在这里插入图片描述

  3. 删除内容,删除某行:nl 路径 | sed ‘某行d’,删除连续几行:nl 路径 | sed '行号1~行号2’
    图2.6 sed删除行
    在这里插入图片描述
    删除指定字符所在行:nl路径 | sed ‘/指定字符/d’。
    图2.7 sed删除指定字符所在行
    在这里插入图片描述

  4. 替换内容,替换每行第一个指定字符: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用法。希望喜欢我博客的大佬们点赞哦!


  1. ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值