📜  Linux 中的 ed 命令和示例(1)

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

Linux中的ed命令和示例

简介

ed是Linux操作系统中一个基本的文本编辑器,其主要作用是在文件中进行快速的文本编辑操作。ed编辑器是一个无交互式的文本编辑器,它适用于shell脚本或批处理脚本中的编辑操作。

与vi或nano等交互式文本编辑器不同,ed编辑器不使用图形界面或提示符界面,它是命令行编辑器,所有的编辑命令都需要通过命令行输入完成。

安装

ed编辑器是Linux操作系统的一部分,它默认安装在大部分的Linux系统上。如果因为某些原因ed编辑器没有被安装,可以使用以下命令进行安装:

  • Debian/Ubuntu系统:
sudo apt-get install ed
  • RedHat/CentOS系统:
sudo yum install ed
使用

ed编辑器有两种使用方式,分别是交互式编辑和非交互式编辑。

交互式编辑

在shell终端中输入ed命令,进入ed编辑器的交互式模式:

$ ed

然后使用命令打开或创建一个文件进行编辑:

$ ed filename

接下来可以输入各种编辑命令进行文件编辑,例如:

a
This is a new line
.
w
q

以上命令的含义为:在文件的最后面添加一行"This is a new line",然后保存文件并退出。

非交互式编辑

ed编辑器也可以在shell脚本或批处理脚本中使用,它可以接收一组编辑命令并自动执行这些命令。

例如,在shell脚本中可以使用以下的命令打开一个文件,并向其中添加一行文本:

echo "a" >> commands.txt
echo "This is a new line" >> commands.txt
echo "." >> commands.txt
echo "wq" >> commands.txt
ed filename < commands.txt

以上命令的含义是将编辑命令分别添加进一个文件中,然后使用ed编辑器加载这个文件并执行其中的编辑命令。

常用命令

以下是ed编辑器的一些常用命令:

  • a,添加一个或多个文本行,以"."结束输入。
  • i,插入一个或多个文本行,以"."结束输入。
  • d,删除一个或多个文本行,如果没有指定行号,则删除当前行。
  • s,替换文本行中的字符串。
  • p,打印一个或多个文本行,如果没有指定行号,则打印当前行。
  • n,显示当前行的行号。
  • w,将文件保存到磁盘上。
  • q,退出ed编辑器。
结论

ed编辑器是Linux操作系统中的一个基本文本编辑器,它可以通过交互式和非交互式的方式使用。使用ed编辑器的一个好处是它可以在shell脚本或批处理脚本中进行自动化的文本编辑操作。但是,由于操作比较复杂,不太适合进行常规的文本编辑任务。