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.txt
1, linux idc, Title 639, Price $8.88
2, linuxidc ninhao, Title 761, Price $5.90
3, linuxmi nihao, Title 880, Price $8.88
4, linuxmi com, Title 198, Price $1.30
5, Johnny Cash, Title 582, Price $6.50
6, Elvis Presley, Title 370, Price $8.88
7, John Lennon, Title 571, Price $8.90
8, Michael Jackson, Title 673, Price $7.50
9, 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.txt
1, linux idc, Title 639, Price $9.30
2, linuxidc ninhao, Title 761, Price $5.90
3, linuxidc nihao, Title 880, Price $9.30
4, linuxidc com, Title 198, Price $1.30
5, Johnny Cash, Title 582, Price $6.50
6, Elvis Presley, Title 370, Price $9.30
7, John Lennon, Title 571, Price $8.90
8, Michael Jackson, Title 673, Price $7.50
9, 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.txt
2, linuxidc ninhao, Title 761, Price $5.90
9, linuxidc com, Title 585, Price $1.80

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !
