我一直在尝试附加file.bak
使用file.php
此命令:
sed r file.php file.bak
它根据需要提供正确的输出。但是,它不会保存附加file.bak
到file.php
.
知道如何完成它吗?
答案1
你不需要sed
这个。使用就足够了cat
:
cat file.bak >>file.php
这会将 的内容附加file.bak
到 的最后file.php
。
程序sed
将把r file.php
内容输出file.php
到标准输出对于每行输入。如果file.bak
有多行,您将获得file.php
插入的多个副本。
sed
如果您想使用它来附加数据,这不是您想要的。
反而,cat
忽略这里做得更好的事实,
sed '$r file.bak' file.php
file.bak
直到到达最后一行才会读取file.php
。这具有连接两个文件的内容的效果(首先是 的内容file.php
,然后是 的内容file.bak
)。
要将结果写回给file.php
您,可以将输出重定向到新文件,然后将其移动到位(安全的方式):
sed '$r file.bak' file.php >tmpfile && mv tmpfile file.php
或者,您可以使用-i
某些实现sed
具有的选项(不安全的方式):
sed -i '$r file.bak' file.php