sed
(stream editor)是一个在 Linux 系统中常用的流编辑器,用于对文本文件进行基于模式的编辑操作。使用 sed
可以在不打开文件的情况下直接修改文件内容,非常适合处理大规模文本数据。
sed [选项] '命令' 输入文件
常用选项:
-i
:直接修改文件内容,而不是输出到标准输出。-n
:禁止自动打印模式空间。假设我们有一个名为 example.txt
的文件,内容如下:
Hello World
This is a test file.
Linux is great.
将 "Linux" 替换为 "Unix":
sed 's/Linux/Unix/' example.txt
如果希望直接修改文件,可以使用 -i
选项:
sed -i 's/Linux/Unix/' example.txt
将包含 "test" 的整行替换为 "sample":
sed '/test/c\This is a sample file.' example.txt
删除包含 "World" 的行:
sed '/World/d' example.txt
在包含 "great" 的行后添加一行新内容:
sed '/great/a\
Unix is also awesome.' example.txt
grep
、awk
)进行复杂的文本处理任务。sed
命令未生效-i
选项来直接修改文件。awk
或其他工具处理更复杂的多行编辑需求。sed
命令的用户对目标文件有写权限。sed
是一个功能强大的文本处理工具,适用于各种需要批量修改或过滤文本的场景。通过掌握其基本语法和常用命令,可以高效地处理大规模文本数据。
领取专属 10元无门槛券
手把手带您无忧上云