sed – 文本处理工具

1、简介

sed(Stream Editor)是一个强大的流编辑器,用于对文本进行基本的转换和编辑操作。它可以在命令行中使用,非常适合处理大型文件或自动化文本处理任务。sed 使用脚本来处理输入流(文件或管道输入),并生成输出流。

2、基本用法

sed 的基本语法如下:

sed [选项] [脚本] [输入文件]
  • 选项:控制 sed 的行为。
  • 脚本:包含一个或多个 sed 命令。
  • 输入文件:要处理的文件。如果未指定文件,sed 会从标准输入读取数据。

3、常用选项

  • -n:禁止自动打印模式空间。
  • -e:指定要执行的脚本。
  • -f:从文件中读取脚本。
  • -i:直接修改输入文件(而不是输出到标准输出)。

4、常用命令

  • s/模式/替换/:替换命令,将匹配模式的文本替换为指定文本。
  • d:删除命令,删除匹配的行。
  • p:打印命令,打印匹配的行。
  • a:追加命令,在匹配行后追加文本。
  • i:插入命令,在匹配行前插入文本。
  • c:更改命令,将匹配行更改为指定文本。

5、实战示例

一、 基本用法

1、 替换文本

[root@localhost ~]# ls -l                            ### 列出当前目录的文件
[root@localhost ~]# cat file1.txt                    ### 查看file1.txt的内容
[root@localhost ~]# sed 's/hello/world/' file1.txt   ### 将file1.txt文件中所有hello替换为 world输出。
[root@localhost ~]# cat file1.txt                    ### 查看file1.txt的内容,实际并未修改。

sed - 文本处理工具

2、 直接修改文件

[root@localhost ~]# ls -l                               ### 列出当前目录的文件
[root@localhost ~]# cat file1.txt                       ### 查看file1.txt的内容
[root@localhost ~]# sed -i 's/hello/world/' file1.txt   ### 将file1.txt文件中所有hello替换为 world。
[root@localhost ~]# cat file1.txt                       ### 查看file1.txt的内容,内容已修改。

sed - 文本处理工具

3、 删除行

[root@localhost ~]# ls -l                                 ### 列出当前目录的文件
[root@localhost ~]# cat file1.txt                         ### 查看file1.txt的内容
[root@localhost ~]# sed -i '/1/d' file1.txt               ### 删除file1.txt文件中包含 1 的行。
[root@localhost ~]# cat file1.txt                         ### 查看file1.txt的内容,确认

sed - 文本处理工具

4、 打印特定行

[root@localhost ~]# ls -l                                 ### 列出当前目录的文件
[root@localhost ~]# cat file1.txt                         ### 查看file1.txt的内容
[root@localhost ~]# sed -n '4p' file1.txt                ### 打印file1.xtxt文件的第 4 行。

sed - 文本处理工具

5、 追加文本

[root@localhost ~]# ls -l                                                      ### 列出当前目录的文件
[root@localhost ~]# cat file1.txt                                              ### 查看file1.txt的内容
[root@localhost ~]# sed -i '/hello,world!-5/ahello,world!-6' file1.txt        ### 在file1.txt文件中包含hello,world!-5的行后追加hello,world!-6。
[root@localhost ~]# cat file1.txt                                              ### 查看file1.txt的内容

sed - 文本处理工具

6、 插入文本

[root@localhost ~]# ls -l                                                      ### 列出当前目录的文件
[root@localhost ~]# cat file1.txt                                              ### 查看file1.txt的内容
[root@localhost ~]# sed -i '/-5/ihello,world!-7' file1.txt                    ### 在 file1.txt文件中包含-5的行前插入hello,world!-7。
[root@localhost ~]# cat file1.txt                                              ### 查看file1.txt的内容

sed - 文本处理工具

7、 更改文本

[root@localhost ~]# ls -l                                                      ### 列出当前目录的文件
[root@localhost ~]# cat file1.txt                                              ### 查看file1.txt的内容
[root@localhost ~]# sed -i '/-3/ihello,world!-8' file1.txt                    ### 在 file1.txt文件中包含-3的行更改为hello,world!-8。
[root@localhost ~]# cat file1.txt                                              ### 查看file1.txt的内容

sed - 文本处理工具


原文始发于微信公众号(奶嘴很忙):sed – 文本处理工具

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/303680.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!