如何将文本添加到行首?

如何将文本添加到行首?

我有一个文本文件,我想在第一行添加一些文本。我尝试过这样的事情:

sed -i '1i\'"string" file

但是,这会在文本文件中插入一个新行。

答案1

这应该适用于 GNU sed:

sed -i '1s/^/string/' file

它与您的解决方案不同,不添加新行。

测试

在运行命令之前,文件的内容是这样的:

some
text
here
already

运行命令后:

stringsome
text
here
already

答案2

另一种方式(类似于我的答案这个问题):

printf 'string' | paste -d'\0' - infile > outfile

或者:

printf string | cat - infile > outfile

或者:

{ printf string; cat infile; } > outfile

相关内容