ed命令
ed命令
ed
命令是文本编辑器,用于文本编辑,ed
是Linux
中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。ed
命令并不是一个常用的命令,一般使用比较多的是vi
指令,但ed
文本编辑器对于编辑大文件或对于在shell
脚本程序中进行文本编辑很有用。如果使用文件名参数调用ed
,则文件的副本将被读入编辑器的缓冲区,对该副本进行更改,而不是直接对文件本身进行更改。退出ed
后,任何未使用w
命令显式保存的更改都将丢失。编辑有两种不同的模式:命令和输入。第一次调用时,ed
处于命令模式,在这种模式下,命令从标准输入中读取并执行以操作编辑器缓冲区的内容。
语法#
ed [options] [file]
参数#
-G, --traditional
: 在兼容模式下运行。-l, --loose-exit-status
: 即使命令失败,也以零状态退出(正常终止)。例如如果将ed
设置为crontab
的编辑器,则此选项很有用。-p, --prompt=STRING
:ed
通常在空白行等待用户输入,此选项将使用字符串作为提示。-r, --restricted
: 在受限模式下运行。-s, --quiet, --silent
: 禁止诊断。-v, --verbose
: 详细操作。-h, --help
: 显示帮助信息。-V, --version
: 显示版本信息。
状态码#
0
表示正常退出。1
表示环境问题,例如文件未找到、无效标志、I/O
错误等等。2
表示损坏或无效的输入文件。3
表示内部一致性错误(如软件bug
),导致ed
死机。
示例#
比较完整的编辑示例。
ed
a
My name is Titan.
And I love Perl very much.
.
i
I am 24.
.
c
I am 24 years old.
.
w readme.txt
q
ed # 激活 ed 命令
a # 告诉 ed 我要编辑新文件
My name is Titan. # 输入第一行内容
And I love Perl very much. # 输入第二行内容
. # 返回 ed 的命令行状态
i # 告诉 ed 我要在最后一行之前插入内容
I am 24. # 将 I am 24. 插入 My name is Titan. 和 And I love Perl very much. 之间
. # 返回 ed 的命令行状态
c # 告诉 ed 我要替换最后一行输入内容
I am 24 years old. # 将 I am 24. 替换成 I am 24 years old. ,这里替换的是最后输的内容
. # 返回 ed 的命令行状态
w readme.txt # 将文件命名为 readme.txt 并保存,如果是编辑已经存在的文件,只需要敲入 w 即可
q # 完全退出 ed 编辑器
cat readme.txt
# My name is Titan.
# I am 24 years old.
# And I love Perl very much.
每日一题#
https://github.com/WindrunnerMax/EveryDay
参考#
https://www.computerhope.com/unix/ued.htm
https://www.runoob.com/linux/linux-comm-ed.html
https://www.geeksforgeeks.org/ed-command-in-linux-with-examples/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理