shell行编辑器ed:在倒数第几行插入
Posted 境悟初
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell行编辑器ed:在倒数第几行插入相关的知识,希望对你有一定的参考价值。
有时需要向一个文件的倒数第几行插入东西,或在前几行插入,不像直接追加那么简单。实际上,这是行编辑器的功能。
基于古老的行编辑器 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
以上是关于shell行编辑器ed:在倒数第几行插入的主要内容,如果未能解决你的问题,请参考以下文章