我尝试用sed在文件(/root/test.conf)的末尾添加一行。我使用FreeBSD,当我尝试添加一个简单的行时,我总是得到几个错误,如:
- 命令中的额外字符
- 未定义标签'est.conf'
文件如下所示:
#Test
firstLine
secondLine
!p.p
*.*
我想补充一点:
(return \n)
!word
other (5 tab between "other" and "/usr/local") /usr/local
如果使用sed不可行,还有其他选择吗?
谢谢大家!
3条答案
按热度按时间k4emjkb11#
听起来您根本不需要使用sed,可能只需使用
cat
和heredoc:>>
以“append”模式打开test.conf
,因此行被添加到文件的底部,并且<<EOF
是一个heredoc,允许您通过标准输入将行传递给cat。要在交互式终端中添加文本制表符,可以使用Ctrl-v,然后使用Tab。
qacovj5a2#
您不需要像sed这样的特殊工具来向文件末尾添加一些行。
几乎在任何平台上都能很好地工作。不过你可能需要对特殊字符进行转义,或者用单/双引号将它们括起来。
vaqhlq813#
如果您在sed中还有其他事情要做,那么在末尾追加只是其中之一:
可以在linux(ubuntu)上运行,不能在freebsd上运行。