sed 在文件末尾添加行

sed add line at the end of file

我试图用 sed 在文件末尾添加一行 (/root/test.conf)。我使用 FreeBSD,当我尝试添加一个简单的行时,我总是会遇到几个错误,例如:

文件是这样的:

#Test
firstLine
secondLine

!p.p
*.*

我想添加这样的内容:

(return \n)
!word
other (5 tab between "other" and "/usr/local") /usr/local

如果 sed 不行,还有其他选择吗?

谢谢!

听起来你根本不需要使用 sed,也许 cat 和 heredoc:

cat >>test.conf <<EOF
whatever you want here

more stuff
EOF

>> 在 "append" 模式下打开 test.conf,因此行被添加到文件的底部,而 <<EOF 是一个允许您通过的 heredoc通过标准输入到 cat 的行。

要在交互式终端中添加文字选项卡,您可以使用 Ctrl-v 然后使用 Tab.

您不需要像 sed 这样的特殊工具来向文件末尾添加一些行。

$ echo "This is last line" >>file 
#or
$ printf "This is last line\n" >>file

几乎在任何平台上都能正常工作。不过,您可能需要转义特殊字符,或将它们括在 single/double 引号中。