Linux安全—linux三剑客之sed(持续更新)

Linux安全基础—linux三剑客之sed学习

sed简介:

sed是Stream Editor(字符流编辑器)的缩写,简称流编辑器。sed是操作,过滤和转换文本内容的强大工具。

sed操作原理:

总结:默认情况下sed会将整个文本的所有内容都读取到它自己的模式空间(pattern space)中,然后使用添加的规则进行匹配,随后会将匹配成功和失败的都会输出到屏幕中(和其他命令只输出匹配成功至屏幕中略有不同),具体如下截图:

在这里插入图片描述
原理举例:
在这里插入图片描述

sed格式:(sed和awk使用单引号,双引号有特殊解释)

sed [选项] [sed内置命令字符] [输入文件]
sed格式举例:命令 sed -n '2p' sed.txt

在这里插入图片描述
常见选项:
在这里插入图片描述
常见内置命令字符:
在这里插入图片描述
常见匹配范围:
在这里插入图片描述

举例说明(可通过如下例子结合上述理论知识学习sed)

例子1:获取sed.txt文件的第2,3行,并只将符合匹配规则的输出到屏幕中(-n选项)

命令:sed -n '2,+3p' sed.txt

在这里插入图片描述
例子2:获取sed.txt文件的第2行和第二行下面的第三行,并只将符合匹配规则的输出到屏幕中(-n选项)

命令:sed -n '2,+3p' sed.txt

在这里插入图片描述
例子3:获取sed.txt文件的包含“linux”字符的那行,并只将符合匹配规则的输出到屏幕中(-n选项)

命令:sed -n '/linux/p' sed.txt

在这里插入图片描述
例子4:获取sed.txt文件的包含“game”字符的那行,并进行删除(磁盘中删除)

命令:sed '/game/d' sed.txt

未添加选项-i参数:删除仅在内存中删除,内容本身还是存在的
在这里插入图片描述
添加选项-i参数:内容会从磁盘中删除,内容本身不存在的在这里插入图片描述
**例子5:**获取sed.txt文件中的第二行到结尾的内容,并进行删除(磁盘中删除)

$字符:匹配以$左侧结尾的字符行

在这里插入图片描述

命令:sed -i '4,$d'  sed.txt

在这里插入图片描述
例子6:将sed.txt的"i"字符全部替换成"my"字符(从磁盘中修改)

命令:sed -i  's\i\my\g' sed.txt

在这里插入图片描述
**例子7:**将sed.txt的"i"字符全部替换成"my"字符(从磁盘中修改),同时将"qq"替换成"weixin"

命令:sed -i   -e 's\my\i\g' sed.txt -e 's\qq\weixin\g'

在这里插入图片描述例子8:在sed.txt中的第二行下面添加一行,内容为"linux is very good"(从磁盘中修改)

命令::sed -i '2a linux is very good' sed.txt

在这里插入图片描述
添加多行:可以通过"\n"进行连接

命令: sed -i '2a linux is very good\n123456789' sed.txt

在这里插入图片描述
例子9:在sed.txt文件中下面的每一行添加数据

命令:sed -i 'a ------' sed.txt

在这里插入图片描述

案例练习:

案例1:取出网卡ens33的IP地址

命令:ifconfig ens33 | sed -n '2p'

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值