📅  最后修改于: 2023-12-03 15:02:42.635000             🧑  作者: Mango
Sed
(stream editor)是一个基于线程的过滤器,用于编辑文本流,是文本处理中非常重要的命令之一。Sed
经常被脚本程序调用,通常用于在纯文本文件中进行如下操作:
Sed
的语法如下所示:
sed [OPTION]... {script-only-if-no-other-script} [input-file]...
其中,OPTION 表示 Sed 命令的选项,script 表示 Sed 命令的脚本,input-file 表示 Sed 命令的输入文件。
以下为 Sed 命令的常用选项:
-n
只输出脚本处理后的结果,而不是输入文件的整体内容。-e script
允许在同一行内指定多个命令。所有命令将作用于文本的每一行。-f script-file
从文件中读取脚本。-i
在替换文件时直接修改原文件,而不是输出到终端。以下为 Sed 命令的常用命令:
s
命令:替换匹配的部分。p
命令:打印匹配的行。d
命令:删除匹配的行。y
命令:对字符进行转换。下面是一些常见的 Sed 命令示例:
将字符串 "old" 替换为字符串 "new":
sed 's/old/new/g' input.txt > output.txt
删除文件中包含字符串 "delete-me" 的所有行:
sed '/delete-me/d' input.txt > output.txt
删除文件中的所有空行:
sed '/^$/d' input.txt > output.txt
将文件中所有包含字符串 "old" 的行删除,并将 "new" 替换为 "old":
sed '/old/d;s/new/old/g' input.txt > output.txt
Sed 命令是在 Linux 上非常有用的一个命令,可以用于文本文件的查询、转换和处理。本文介绍了 Sed 命令的语法、常用选项和命令,以及一些 Sed 命令的示例,希望对程序员在实际工作中的应用有所帮助。