sed
(stream editor,流编辑器)是一个在Linux和类Unix系统中非常强大的文本处理工具。
sed
主要用于对文本文件(或流)进行基本的文本转换,如查找和替换、插入和删除操作。
它以非交互方式工作,因此尤其适合用于脚本和批处理任务。
以下是sed
命令的语法和一些实用示例。
语法:
sed [选项] 'command' file
sed
命令的核心是command
,它定义了要在文本上执行的操作。可以在一个sed
命令中使用多个命令,命令之间用分号隔开。
常用选项:
-n
:安静模式,只打印被命令处理过的行。-i
:直接编辑文件,而不是将结果输出到标准输出。-e
:允许在一个sed
命令中使用多个表达式,每个表达式前需要加-e
。-f
:从指定的文件中读取sed
脚本。
常用命令:
s/old/new/
:将第一个匹配到的old
替换为new
。s/old/new/g
:将所有匹配到的old
替换为new
。p
:打印行。d
:删除行。a\text
:在当前行后追加文本。i\text
:在当前行前插入文本。
实用示例:
- 将文件中所有的”apple”替换为”orange”:
sed 's/apple/orange/g' file.txt
- 删除文件中包含”example”的行:
sed '/example/d' file.txt
- 只打印文件中包含”example”的行:
sed -n '/example/p' file.txt
- 在文件中的每一行末尾添加逗号:
sed 's/$/,/' file.txt
- 在文件中的每一行开头添加行号:
sed '=' file.txt | sed 'N; s/\n/. /'
- 删除文件中的空白行:
sed '/^$/d' file.txt
- 将文件中的多个空格替换为一个空格:
sed 's/ */ /g' file.txt
这些示例仅涵盖了sed
命令的一部分功能。sed
是一个非常强大的工具,可以解决许多文本处理问题。要深入了解sed
,请阅读相关文档和手册。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END