Bourne Shell:如何将一些文本行插入文件的给定行号
我正在编写一个 Bourne Shell 脚本来自动编辑源文件。
我得到了我需要的行号,如下所示:
line=`sed -n '/#error/=' test.h`
line=$[$line - 2]
现在我想在此行号之后插入几行文本,我该怎么做?
I'm writing a Bourne Shell script to automatically edit a source file.
I get the line number I need like this:
line=`sed -n '/#error/=' test.h`
line=$[$line - 2]
Now I want to insert a few lines of text after this line number, how can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您安装了简单的unix编辑器
ed
,您可以这样说:这是没有“视觉”模式的vi。
$line
必须是行号,$lines
必须是要插入到文件中的文本。If you have the simple unix editor
ed
installed, you can say something like this:This is vi without the "visual" mode.
$line
must be the line number and$lines
the text to insert into the file.?
(已更正)
?
(corrected)
或者
or
你可以只使用 awk
you can just use awk
看来你工作太辛苦了。为什么不直接插入文本而不是查找行号?例如:
如果您要插入的文本在文件中,则更容易:
It looks like you're working too hard. Why not just insert the text instead of finding the line number? eg:
If the text you want to insert is in a file, it's even easier: