Linux三剑客之sed命令
2021/9/29 7:14:03
本文主要是介绍Linux三剑客之sed命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Linux三剑客(grep、sed、awk)之sed命令
-
grep 、sed、awk并称为文本三剑客。使用grep可以很好的实现文本查找的功能,然而却无法进行编辑(选取、替换、删除、新增),sed的出现便解决了这一问题。
-
sed的英文全称是stream editor(流编辑器),与vim不同,它是一种非交互式的文本编辑器。它每次只从标准输入/文本获取一行信息,存储到其模式空间 (pattern space),然后进行sed命令编辑后,将结果输出到屏幕上(除非sed命令删除这一行或取消打印)。sed每处理完一行就将其从模式空间中删掉,然后将下一行读入空间,进行处理和显示。处理完文件的最后一行后,sed便结束运行。(估计就是因为一行一行读取处理才起名叫流编辑器的吧)
-
sed编辑没有破坏性,它默认不会修改文件,除非使用选项主动修改。
sed命令使用
-
使用格式:sed [选项] ‘[动作]’ 文件名 ,最常用的是配合管道符使用:sh a.sh | sed [选项] ‘[选项]’
-
选项:
-n: 取消默认输出,配合动作p来输出想输出的行
-e: 允许对输入数据应用多条sed命令
-i: 直接修改读取数据的文件,而不输出到屏幕 -
动作:
p: 打印。 格式为 sed -n ‘2p’ a.txt (通常要配合-n选项使用,不然还会格外打印出全文件内容)。
sed -n ‘1~2p’ a.txt(打印所有奇数行)、sed -n ‘2~2p’ (打印所有偶数行)
步进~(波浪形前的数字表示起始行,波浪线后的数字表示步进长度)a: 追加。 格式为 sed ‘2a hello’ a.txt (在第2行后边追加hello)
i: 插入。 格式为 sed ‘2i hello’ a.txt (在第2行前边插入hello)
d: 删除。 格式为 sed ‘2,4d’ a.txt (删除第2行到第4行的数据)
c: 行替换。 格式为 sed ‘2c hello’ a.txt (把第2行的内容替换成hello)
s: 字符串替换。格式为 sed ‘5s/旧字符串/新字符串/g’ a.txt (5代表处理对象是第5行,g是全局替换)
这篇关于Linux三剑客之sed命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法