博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sed
阅读量:6080 次
发布时间:2019-06-20

本文共 936 字,大约阅读时间需要 3 分钟。

hot3.png

 

sed是流式编辑器,是针对文档的行来操作的。grep只能实现查找功能,不能把查找的内容替换。vim可以实现替换,它只能在文本的内部操作,不能输出的屏幕上。而sed工具就可以替换文本并把它输出到屏幕上,而且他还有很多其他功能。

打印某行

打印文件的第五行 :sed -n '5'p 7.txt

不加-n选项会把要求的行打印两遍,其它内容一样也会打印出来。

打印文件的第一行到第五行 :sed -n '1,5'p 7.txt

打印文件的第五行到最后一行 :sed -n '5,$'p 7.txt

打印包含某个字符串的行

sed -n '/root/'p 7.txt

sed也可以使用grep中可以使用的符号

打印以数字1开头的行 :sed -n '/^1/'p 7.txt

打印 in结尾的行 :sed -n '/in$/'p 7.txt

还有 . 和 * 符号

使用符号+时要在+前面加脱义字符 \ 或者使用 -r选项 :sed -nr '/r+o/' 7.txt

大括号 { } 问号?还有 符号 | 和加号 +一样,要在前面加脱义字符或 -r选项。

使用 -e选项可以实现多个行为

不区分大小写 :sed -n '/root/'Ip 7.txt

删除某些行 参数d表示删除的动作

删除一到八十行 :sed '1,80'd 7.txt

删除有字符串root的行 :sed '/root/'d 7.txt

这些操作知识在屏幕上不显示这些行,文件并没有修改。

替换字符或者字符串

把文件中的bin替换成wae

参数s表示替换,g表示本行全局替换,不加g只会替换这一行的第一个。

我们可以把分隔符/ 换成#或@

删除文档中所有的数字或字母

删除数字

如果是删除所有字母

调换两个字符串的位置

用sed在某一行前后增加指定的内容

在每一行行首加上123

直接修改文件内容

上面的删除、替换、调换的操作都不会对文件本身的内容有影响,如果要对文件本身进行修改就要使用 -i 选项。

比如我先查看文件前十行的内容

然后删除这十行,加上 -i选项

再查看文件内容发现原来的十行已经不见了。

转载于:https://my.oschina.net/u/3867258/blog/1840409

你可能感兴趣的文章
RTP协议分析
查看>>
大数据在云计算中转换的4个步骤
查看>>
云安全:信息安全风险长尾的终结者
查看>>
阿里巴巴CTO王坚:电视不会垮掉
查看>>
【小程序】微信小程序开发实践
查看>>
OpenStack 实现技术分解 (7) 通用库 — oslo_config
查看>>
2013年四起数据泄露事故的经验教训
查看>>
企业需要特别关注的11个BYOD风险
查看>>
JAVA通信编程(一)——串口通讯
查看>>
天翼杯大数据算法应用大赛
查看>>
我的2008
查看>>
2015年05月18日面试总结
查看>>
病毒纷纭 云安全曲线救网
查看>>
从与星瑞格软件的合作看浪潮深化主机生态布局
查看>>
中国人工智能学会通讯——当巧妇遇到“大米”——机器翻译启示录
查看>>
享未来就现在 聚VR一体机春天已经到来
查看>>
针对Android的Pegasus恶意软件版本和针对iOS的有什么不同?
查看>>
政府拥抱大数据 治理迎来新格局
查看>>
零件检测如何保证出色的质量 光切传感器成为理想替代方案
查看>>
“大声bb”–攻击Linux和FreeBSD的恶意软件
查看>>