Linux下sed命令的用法介绍

  介绍

这篇文章主要讲解了“Linux下sed命令的用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下sed命令的用法介绍”吧!

<强> Linux sed命令详细说明

<强> sed是一种用于过滤和转换文本的流编辑器。用于对输入流(文件或来自管道的输入)执行基本文本转换。

<强>虽然sed在某些方面类似于允许脚本编辑(如ed)的编辑器,但它的工作方式是只传递一次输入,因此效率更高。

<强>思考:

查看当前服务器IP

[root@cjcos01 cjc] # ifconfig

通过ifconfig虽然可以查看IP,但是打印出很多并不关注的信息,如何去掉这部分无用的信息吗?

可以通过sed加grep实现,方法见后面的示例。

<强>测试数据

[root@cjcos01 cjc] #猫t1.txt 

<>前道花庵歌   道花坞里道花庵,道花庵下道花仙;   道花仙人种道树,又摘道花卖酒的钱。   酒醒只在花前坐,酒醉还来花下眠;   半醒半醉日复日,花落花开年复年。   但愿老死花酒间,不愿鞠躬车马前;   车尘马足富者趣,酒盏花枝贫者缘。   若将富贵比贫贱,一在平地一在天;   若将贫贱比车马,他得驱驰我得闲。   别人笑我太疯癫,我笑他人看不穿;   不见五陵豪杰墓,无花无酒锄作田。

<强> 1打印行

<>强打印第二行,

<强> [root@cjcos01 cjc] # sed - n & # 39; 2 p # 39;/cjc/t1。txt

<>前道花坞里道花庵,道花庵下道花仙;

<>强打印第2 - 5行

[root@cjcos01 cjc] # sed - n & # 39; 2、5 p # 39;/cjc t1.txt

<>前道花坞里道花庵,道花庵下道花仙;   道花仙人种道树,又摘道花卖酒的钱。   酒醒只在花前坐,酒醉还来花下眠;   半醒半醉日复日,花落花开年复年。

<>强打印第十行到结尾行

[root@cjcos01 cjc] # sed - n & # 39; 10 $ p # 39;/cjc t1.txt

<>之前别人笑我太疯癫,我笑他人看不穿;   不见五陵豪杰墓,无花无酒锄作田。

<>强打印第2行,第6行,第8,9,10行

[root@cjcos01 cjc] # sed - n & # 39; 2 p; 6 p; 8、10 p # 39;/cjc t1.txt

<>前道花坞里道花庵,道花庵下道花仙;   但愿老死花酒间,不愿鞠躬车马前;   若将富贵比贫贱,一在平地一在天;   若将贫贱比车马,他得驱驰我得闲。   别人笑我太疯癫,我笑他人看不穿,

<>强打印含道有字的行

[root@cjcos01 cjc] # sed - n & # 39;/t/p # 39;/cjc/t1.txt 

<>前道花庵歌   道花坞里道花庵,道花庵下道花仙;   道花仙人种道树,又摘道花卖酒钱。

<>强打印“酒”字开头的行

[root@cjcos01 cjc] #,sed - n & # 39;/^酒/p # 39;/cjc/t1.txt 

<>以前酒醒只在花前坐,酒醉还来花下眠;

<>强打印“霸主地位;结尾的行

[root@cjcos01 cjc] #,sed - n & # 39;/p # 39;美元/\。/cjc/t1.txt 

<>前道花仙人种道树,又摘道花卖酒的钱。   半醒半醉日复日,花落花开年复年。   车尘马足富者趣,酒盏花枝贫者缘。   若将贫贱比车马,他得驱驰我得闲。   不见五陵豪杰墓,无花无酒锄作田。

<强> 2插入行

[root@cjcos01 cjc] # cp t1。txt t1.txt.bak

<>以前人为多愁少年老,   花为无愁老少年。   年老少年都不管,且将诗酒醉花前。

<强>行前添加,写入源文件

[root@cjcos01 cjc] # sed - i & # 39;我人为多愁少年老,花为无愁老少年强生# 39;/cjc/t1。txt

[root@cjcos01 cjc] #猫t1.txt

<>前道花庵歌   人为多愁少年老,花为无愁老少年。   道花坞里道花庵,道花庵下道花仙;   …

<强>行后添加(直接修改原文件)

[root@cjcos01 cjc] # sed - i & # 39; 2年老少年都不管,且将诗酒醉花前强生# 39;/cjc/t1。txt

[root@cjcos01 cjc] #猫t1.txt

<>前道花庵歌   人为多愁少年老,花为无愁老少年。   年老少年都不管,且将诗酒醉花前。   道花坞里道花庵,道花庵下道花仙;   ……

<强> 3替换行(直接修改原文件),

[root@cjcos01 cjc] # sed - i & # 39; 2 c闲来写就青山卖,不使人间造孽钱强生# 39;/cjc/t1。txt

[root@cjcos01 cjc] #猫t1.txt

<>前道花庵歌   闲来写就青山卖,不使人间造孽钱。   年老少年都不管,且将诗酒醉花前。   ……

<强> 4替换字符,

- n & # 39; s/老/新/p # 39;将文件中每行的第一个老字符换成新字符,打印出只发生变化的行,且源文件内容不变

Linux下sed命令的用法介绍