📜  Linux Sed命令(1)

📅  最后修改于: 2023-12-03 15:02:42.635000             🧑  作者: Mango

Linux Sed命令介绍

简介

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命令示例

下面是一些常见的 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 命令的示例,希望对程序员在实际工作中的应用有所帮助。