• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

SED插入行命令OSX

用户头像
it1352
帮助1

问题说明

I'm trying to insert text to the third line in a file using sed, and the syntax I've found on other forums is:

sed -i '' "3i\ text to insert" file

当我用这个但是,我得到一个错误:

When I use this however, I get an error:

sed: 1: "3i\ text to insert": extra characters after \ at the end of i command

我似乎无法找出是什么原因造成的问题。我使用OSX,这就是为什么我有一个空''我的扩展。

I can't seem to figure out what is causing the problem. I'm using OSX, which is why I have an empty ' ' as my extension.

谢谢!

正确答案

#1

您应该直接把后一个换行符 \\

You should put a newline directly after the \:

sed '3i\
text to insert' file

这实际上是由 POSIX规范定义的行为。即GNU sed的事实,您可以指定文本将在同一行插入是一个扩展。

This is actually the behaviour defined by the POSIX specification. The fact that GNU sed allows you to specify the text to be inserted on the same line is an extension.

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhcgeiah
系列文章
更多 icon
同类精品
更多 icon
继续加载