本文共 967 字,大约阅读时间需要 3 分钟。
行寻址
. 此选项对当前行寻址(缺省地址)。number 此选项对第 number 行寻址。可以按逗号分隔的范围 (first,last) 对行寻址。0 代表缓冲区的开头(第一行之前)。-number 此选项对当前行之前的第 number 行寻址。如果没有 number,则减号对紧跟在当前行之前的行寻址。+number 此选项对当前行之后的第 number 行寻址。如果没有 number,则加号对紧跟在当前行之后的行寻址。$ 此选项对最后一行寻址。, 此选项对第一至最后一行寻址,包括第一行和最后一行(与 1,$ 相同)。; 此选项对当前行至最后一行寻址。/pattern/ 此选项对下一个包含与 pattern 匹配的文本的行寻址。?pattern? 此选项对上一个包含与 pattern 匹配的文本的行寻址。
命令描述
a 此命令在指定的地址之后追加文本。c 此命令将指定的地址更改为给定的文本。d 此命令删除指定地址处的行。i 此命令在指定的地址之前插入文本。q 此命令在将缓冲区保存到磁盘后终止程序并退出。r file 此命令读取 filespec 的内容并将其插入指定的地址之后。s/pattern/replacement/ 此命令将匹配 pattern 的文本替换为指定地址中的 replacement 文本。w file 此命令将指定的地址写到 file。如果没有 address,则此命令缺省使用整个缓冲区。
实例,删除passwd中的neo用户
ed -s passwd <
ed -s mfsmetalogger.cfg <
删除尾随空格
$ cat -vet input.txtThis line has trailing blanks. $This line does not.$$ (echo ',s/ *$//'; echo 'wq') | ed -s input.txt$ cat -vet input.txtThis line has trailing blanks.$This line does not.$
原文出处:Netkiller 系列 手札
本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。