如何在文件开头插入文本?

新手上路,请多包涵

到目前为止,我已经能够找出如何在文件开头添加一行,但这并不是我想要的。我将用一个例子来展示它:

文件内容

some text at the beginning

结果

<added text> some text at the beginning

它很相似,但我不想用它创建任何新行……

如果可能的话,我想用 sed 来做这件事。

原文由 user219882 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 824
2 个回答

sed 可以对地址进行操作:

 $ sed -i '1s/^/<added text> /' file

这是什么神奇的 1s 你在这里看到的每个答案? 线路寻址! .

想要在前 10 行添加 <added text>

 $ sed -i '1,10s/^/<added text> /' file

或者您可以使用 Command Grouping

 $ { echo -n '<added text> '; cat file; } >file.new
$ mv file{.new,}

原文由 kev 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果要在文件开头添加一行,则需要在上述最佳解决方案中的字符串末尾添加 \n

最好的解决方案是添加字符串,但是使用字符串,它不会在文件末尾添加一行。

 sed -i '1s/^/your text\n/' file

原文由 Ali Reza Ebadat 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题