1、命令简介
ed:ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。
2、命令用法
ed [-] [-Gs] [-p string] [file] red [-] [-Gs] [-p string] [file]
3、命令描述
ed命令由零个或多个行地址组成,后面跟着一个字符命令和可能的附加参数d是一个面向行的文本编辑器。它用于创建、显示、修改和以其他方式操作文本文件。red是受限的ed:它只能编辑当前目录下的文件,不能执行shell命令。
如果使用file参数调用,则将file的副本读入编辑器的缓冲区。更改是对该副本进行的,而不是直接对文件本身进行更改。在退出ed时,没有使用'w'命令显式保存的任何更改将丢失。
,s/old/new/g
将所有出现的字符串old替换为new。
当给出输入命令'a' (append), 'i' (insert)或'c' (change)时,ed将进入输入模式。这是向文件添加文本的主要方法。在此模式下,没有命令可用;相反,标准输入被直接写入编辑器缓冲区。行由文本组成,包括一个换行符。输入模式通过在一行上输入一个句号(.)终止。
所有ed命令都对整行或整段行进行操作;例如,'d'命令删除行;' m '命令可以移动行,依此类推。可以通过替换的方式只修改一行的一部分,如上例所示。然而,即使在这里,' s '命令也一次应用于整行。
通常,ed命令由零个或多个行地址组成,后面跟着一个字符命令和可能的附加参数;也就是说,命令有这样的结构:
[address [,address]]command[parameters]
address(es)表示该命令影响的行或行范围。如果给出的地址少于命令接受的地址,则提供默认地址。
4、命令选项
选项 | 描述 |
-G | 强制向后兼容。影响命令 ‘G’, ‘V’, ‘f’, ‘l’, ‘m’, ‘t’, 和 ‘!!’. |
-s | 取消诊断。如果ed的标准输入来自脚本,则应使用此选项。 |
-p string | 指定命令提示符。这可以通过'P'命令来切换。 |
file | 指定要读取的文件的名称。如果file前缀是bang(!), 那么它被解释为shell命令。在这种情况下, 读取的是通过sh(1)执行的文件的标准输出。 要读取名称以bang开头的文件, 请在名称前加上反斜杠(\)。 默认文件名设置为file,仅当它没有带bang前缀时。 |
5、使用示例
$ ed <- 执行 ed 命令 a <- 编辑新文件 www.cjavapy.com. <- 输入第一行内容 cjavapy. <- 输入第二行内容 . <- 返回 ed 的命令行状态 i <- 在最后一行之前插入内容 || <- 将||插入两行之间 . <- 返回 ed 的命令行状态 c <- 替换最后一行输入内容 Python. <- 将内容替换(注意:这里替换的是最后输的内容) . <- 返回 ed 的命令行状态 w note.text <- 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可) q <- 完全退出 ed 编辑器