繁体   English   中英

使用 sed 在文件末尾添加新行

[英]Adding a new line to the end of a file using sed

我需要在文件末尾添加一个新行。 但是当我在 MacOS 上运行 sed 命令时出现错误。

我运行的命令sed -i'' -e '$a\wrapper{gradleVersion='5.5'}' build.gradle

我得到的错误: sed: 1: "$a\wrapper{gradleVersio...": extra characters after \ at the end of a command

最简单的答案:不要使用sed

echo "wrapper{gradleVersion='5.5'}" >> build.gradle

很简单吧?

如果您想忽略我的建议并继续使用sed ,请完成@shellter 评论:

  • 在 MacOS sed 上,您需要在a命令时在要添加的文本之前添加换行符。

  • MacOS sed 默认情况下不会在您要添加的文本后添加换行符,并且因为您希望文件保持 POSIX 标准,所以您需要添加它

你可以做:

sed -i '' -e '$a\
<text to add>
' <file>
  • 因为要添加单引号,所以需要将 sed 命令用双引号括起来,然后转义$\ ,这样使用起来特别烦人。

尝试这个:

sed -i '' "\$a\\
wrapper{gradleVersion='5.5'}
" build.gradle

在 gnu-sed 上(使用brew brew install gnu-sed ),您可以:

gsed -i "\$a wrapper{gradleVersion='5.5'}" build.gradle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM