这篇文章主要介绍了linux的sed怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。
使用Sed进行文本文件更改的示例
假设您有一个名为linuxidc.com.txt的文件,其中包含以下行:
1, linux idc, Title 639, Price 5.90 3, linuxmi nihao, Title 880, Price 1.30 5, Johnny Cash, Title 582, Price 9.30 7, John Lennon, Title 571, Price 7.50 9, linuxidc com, Title 585, Price $1.80
您想要将所有价格变动9.30美元更改为8.88美元。 为此,您可以通过以下方式使用sed命令:
linuxidc@Ubuntu:~/linuxidc.com$ sed 's/9.30/8.88/' linuxidc.com.txt > linuxidc.txt
此代码进行更改并将修改后的文件保存为linuxidc.txt。 生成的新文件包含:
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc.txt1, linux idc, Title 639, Price $8.882, linuxidc ninhao, Title 761, Price $5.903, linuxmi nihao, Title 880, Price $8.884, linuxmi com, Title 198, Price $1.305, Johnny Cash, Title 582, Price $6.506, Elvis Presley, Title 370, Price $8.887, John Lennon, Title 571, Price $8.908, Michael Jackson, Title 673, Price $7.509, linuxidc com, Title 585, Price $1.80
如果你想用“linuxidc”替换所有出现的“linuxmi”,你也可以用这种方式使用sed命令:
linuxidc@ubuntu:~/linuxidc.com$ sed 's/linuxmi/linuxidc/' linuxidc.com.txt > linuxidc.txt
生成的修改文件linuxidc.txt将包含以下文本:
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc.txt1, linux idc, Title 639, Price $9.302, linuxidc ninhao, Title 761, Price $5.903, linuxidc nihao, Title 880, Price $9.304, linuxidc com, Title 198, Price $1.305, Johnny Cash, Title 582, Price $6.506, Elvis Presley, Title 370, Price $9.307, John Lennon, Title 571, Price $8.908, Michael Jackson, Title 673, Price $7.509, linuxidc com, Title 585, Price $1.80
使用Sed命令过滤
Sed也经常用于过滤文件中的行。 例如,如果您只想查看包含“linuxidc”的行,则可以使用以下sed命令:
linuxidc@ubuntu:~/linuxidc.com$ sed -n ‘/linuxidc/p’ linuxidc.com.txt > linuxidc.txt
新的linuxidc.txt文件将包含以下行:
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc.txt2, linuxidc ninhao, Title 761, Price $5.909, linuxidc com, Title 585, Price $1.80
感谢你能够认真阅读完这篇文章,希望小编分享的“linux的sed怎么用”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!