在 Mac OSX 文件为空时,如何使用 sed 向文件添加一行?

On Mac OSX how do I add a line to a file using sed when the file is empty?

这个很好用

$ sed -i '' '1i\
my text' $HOME/.bashrc

有第一行时,没有第一行时无效

一种方式,在两种情况下都适用:

{ echo my text; cat file; } | tee file

这适用于小文件,对于大文件,使用临时文件:

{ echo my text; cat file; } > temp$$ && mv temp$$ file