无法用sed添加行?

时间:2017-09-25 07:24:29

标签: sed

我正在尝试将此块添加到文件中的第一行之后:

sed -i '1a\
apply plugin: 'io.fabric' \
repositories { \
  maven { \
    url 'https://maven.fabric.io/public' \
  } \ 
}' test.txt;

但是在运行终端时我得到错误:

sed:-e表达式#1,字符108:意外的`}'

1 个答案:

答案 0 :(得分:1)

两件事,

  • 您在单引号中包含单引号,它会产生不良结果。使用双引号或在字符串中正确引用单引号。

  • 任何内容都不应该跟在行末尾的\之后。

我们可以写一些类似的东西,

sed "1a \\
apply plugin: 'io.fabric' \\
repositories { \\
  maven { \\
    url 'https://maven.fabric.io/public' \\
  } \\
}" input

注意此处\\是必需的,因为我们使用的是双引号。