将文本附加到unix

时间:2018-05-09 09:20:20

标签: unix sed append

我想在文本文件的最后一行末尾添加冒号字符(:)(不在新行中)。

  • 我的文件末尾已经有\ n字符,因此printf ":" >> file将冒号放在一个新行中。
  • 使用sed '$s/$/:/' file > newfile有效,但我的文件大约为100 MB,所以只需要添加一个字符就可以管理整个文件看起来没什么吸引力。

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以使用ddnotrunc(在Linux 4.12上测试):

printf ":" | dd of=file conv=notrunc bs=1 seek=$(( $(stat -c "%s" file) - 1))