Linux 正则表达式基于(sed)

  • Post author:
  • Post category:linux


命令sed是一个管道命令,也是用来接收标准输入,也是对数据进行,替换,删除,新增,选取特定功能。

1.sed 的删除行

比如删除第一行到第三行如下:

命令:ifconfig | sed ‘1,3d’

ifconfig | sed '1,3d'

删除后的结果如下:

2.sed添加行。

比如在第三行添加hello

命令:ifconfig | sed ‘3a hello’

ifconfig | sed '3a hello'

添加结果如下:

3.sed的整行替换。

比如替换3~5行为hello

命令:ifconfig | sed ‘3,5c hello’

ifconfig | sed '3,5c hello'

运行结果如下:

4.替换匹配的字符串并且替换成指定的文字。

比如将 ifconfig 中的所有RX,和TX 替换成AA

命令:ifconfig | sed ‘s/[RT]X/AA/’

ifconfig | sed 's/[RT]X/AA/'

5.使用sed和grep提取ip地址。

使用命令:ifconfig查看ip地址。

ifconfig

使用命令  ifconfig | grep ‘inet’       提取所有有inet字符串的行.

 ifconfig | grep 'inet'

使用命令:ifconfig | grep ‘inet’ | grep ‘[0-9$]’        提取以数字结尾的行。

ifconfig | grep 'inet' | grep '[0-9$]' 

ifconfig | grep 'inet' | grep '[0-9$]' | grep 'broadcast' | sed '/s *//'

使用命令:ifconfig | grep ‘inet’ | grep ‘[0-9$]’ | grep ‘broadcast’        匹配其中有broadcast的一行。

ifconfig | grep 'inet' | grep '[0-9$]' | grep 'broadcast'

使用命令:ifconfig | grep ‘inet’ | grep ‘[0-9$]’ | grep ‘broadcast’ | sed ‘/s *//’        替换前方的空格。

ifconfig | grep 'inet' | grep '[0-9$]' | grep 'broadcast' | sed '/s *//' 

使用命令:ifconfig | grep ‘inet’ | grep ‘[0-9$]’ | grep ‘broadcast’ | sed ‘/s *//’        替换netmask后面的字符。

ifconfig | grep 'inet' | grep '[0-9$]' | grep 'broadcast' | sed '/s *//'

成功取得ip地址。



版权声明:本文为weixin_53064820原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。