shell行编辑器ed:在倒数第几行插入

本文介绍了如何利用古老的行编辑器ed和ex命令在文件的特定行进行插入操作。通过示例展示了在倒数第二行以及第一行插入新内容的步骤,并解释了命令的组成部分。最后,提到了使用ex命令的w选项来保存修改。

有时需要向一个文件的倒数第几行插入东西,或在前几行插入,不像直接追加那么简单。实际上,这是行编辑器的功能。

基于古老的行编辑器 ed命令:http://www.gnu.org/software/ed/manual/ed_manual.html

倒数第几行插入

比如在倒数第二行插入

# cat file 
line1
line2
line3
line4
line5
# ed -s file 
$-0i
new line
.
,p
line1
line2
line3
line4
new line
line5

上面的命令分为4部分:

  • $-0i: 从0开始是倒数第1行之前
  • 中间是内容,用 \n 换行符分开
  • .: 点为结束
  • ,p: 打印出来

放在一行执行:

# printf '$-0i\nnew line\n.\n,p\n' | ed -s file
line1
line2
line3
line4
new line
line5

现在发现,其实文件并没被更新,要更新可以使用 ex命令,然后将指令换为 w

# printf '$-0i\nnew line\n.\nw\n' | ex -s file
# cat file 
line1
line2
line3
line4
new line
line5

在第几行插入

同样可以从前面开始,比如在第一行插入

# printf '1i\nnew line\n.\n,p\n' | ed -s file
new line
line1
line2
line3
line4
line5
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值