手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux sed命令使用简单示例

[日期:2019-02-16] 来源:Linux公社  作者:醉落红尘 [字体: ]

Linux命令sed是“stream editor”的缩写,也就是流编辑器,它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。

Linux sed命令使用简单示例

使用Sed进行文本文件更改的示例

假设您有一个名为linuxidc.com.txt的文件,其中包含以下行:

1, linux idc, Title 639, Price $9.30
2, linuxidc ninhao, Title 761, Price $5.90
3, linuxmi nihao, Title 880, Price $9.30
4, linuxmi 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

您想要将所有价格变动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

Linux sed命令使用简单示例

如果你想用“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

Linux sed命令使用简单示例

使用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

Linux sed命令使用简单示例

更多Linux命令相关信息见Linux命令大全 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=16

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-02/156944.htm

linux
相关资讯       Sed命令  Linux sed命令 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款