到目前为止,我已经能够找出如何在文件的开头添加一行,但这并不完全是我想要的。我将用一个例子来说明:
文件内容
some text at the beginning
结果
<added text> some text at the beginning
它很相似,但是我不想用它创建任何新的行…
如果可能的话,我希望用sed来做这件事。
到目前为止,我已经能够找出如何在文件的开头添加一行,但这并不完全是我想要的。我将用一个例子来说明:
文件内容
some text at the beginning
结果
<added text> some text at the beginning
它很相似,但是我不想用它创建任何新的行…
如果可能的话,我希望用sed来做这件事。
当前回答
嗨,用马车回:
sed -i '1s/^/your text\n/' file
其他回答
你可以用cat -
printf '%s' "some text at the beginning" | cat - filename
Sed可以对地址进行操作:
$ sed -i '1s/^/<added text> /' file
每个答案上神奇的1是什么?行解决!
想在前10行添加<添加的文本> ?
$ sed -i '1,10s/^/<added text> /' file
或者你可以使用命令分组:
$ { echo -n '<added text> '; cat file; } >file.new
$ mv file{.new,}
有一个非常简单的方法:
echo "your header" > headerFile.txt
cat yourFile >> headerFile.txt
Cat连接多个文件。<()将命令的输出作为文件发送。结合这两者,我们可以在文件的开头和结尾插入行,
cat <(echo "line before the file") file.txt <(echo "line after the file")
如果你想在文件的开头添加一行,你需要在上面的最佳解决方案中在字符串的末尾添加\n。
最好的解决方案是添加字符串,但是使用字符串,它不会在文件的末尾添加一行。
sed -i '1s/^/your text\n/' file