正则(二)

本文详细介绍了SED命令的各种功能,包括匹配、删除、替换等操作,并通过实例展示了如何利用SED命令进行文本处理,例如替换字符串、匹配特定模式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sed

1.匹配功能

084037_5NN3_3746774.png

   1) # sed -n '/ 字符串/'p 文件名

081320_Imyy_3746774.png

   2)上述功能都支持特殊字符 .  *  +等

    但是使用+的时候需要脱义\  如果不想使用\  需要给sed加上-r选项

081904_afgh_3746774.png

083009_g515_3746774.png

3)支持{}:匹配多次前面的字符

083220_oqbK_3746774.png

4)支持或者|  

083329_6csG_3746774.png

5)打印指定行# sed -n '行号'p 文件名

083530_OBC5_3746774.png

6)打印指定范围的行# sed -n '开始行号,结束行号'p 文件名

083622_kmSc_3746774.png

7)打印指定的开始行到结束行,结束行用$表示

083736_afuP_3746774.png

8)选项-e

        表示要在一行命令进行多个操作

084435_XHGe_3746774.png

如上图既打印了第一行,又匹配了bus,如果两个操作结果有重合的行,那么重合的行会打印两次

084630_IAJo_3746774.png

9)不区分大小写 加上I

085304_4mY5_3746774.png

2.其他功能

083954_TVoP_3746774.png

1)d 删除功能

    删除指定行后展示到屏幕,文件内容未被删除

090220_jTty_3746774.png

上述命令加上-i选项后则会删除文件内容

090411_qqdl_3746774.png

d还可以删除指定内容的行

090705_wRoh_3746774.png

2)替换功能s

    # sed '起始行,结束行s/查找字符串/替换字符串/g' 文件名  //替换字符串

091536_BnIf_3746774.png

上图中的命令表示的意思是:将test.txt文件中第一行到第五行中的bin全部查找出来然后替换为ain,最后在屏幕上将替换后的整个文件打印出来

    被替换的字符串可以为正则表达式,如下图

092106_oBLl_3746774.png

    例:将下图行中前十行的第一段和最后一段调换顺序

093003_0ka5_3746774.png

使用命令# head test.txt |sed -r 's/([^:]+):(.*):([^:]+)/\3\2\1/'

    其中的\3表示查找内容的第三段,在命令中是表示将第三段内容放在第一段的位置,运行结果如下

093253_mtg5_3746774.png

需求:删除文档中所有英文字符

使用命令# sed 's/[a-zA-Z]//g'  文件名

093851_f0N0_3746774.png

需求:将所有行前面加上一个字符串

使用命令 # sed -r 's/(.*)/字符串&/' 文件名  

    其中&表示前面查找的内容,可以使用\1代替&

094548_Szi7_3746774.png

 

转载于:https://my.oschina.net/u/3746774/blog/1608181

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值