在文件的第一行插入一个单词

在文件的第一行插入一个单词

输入:

firstline
secondline
thirdline

...这里发生了一些魔法...:)

输出:

insertedtextfirstline
secondline
thirdline

问题: 怎么插入插入的文本到文件第一行的开头?

答案1

使用 GNU sed

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

这会将第一行的开头替换为插入的文本。-i替换文本file而不是将修改后的文本发送到标准输出。

答案2

如果考虑到跨 unice 的可移植性,请使用ed

ed file <<END
1s/^/insertedtext/
w
q
END

答案3

POSIX一:

$ { printf %s insertedtext; cat <./input_file; } >/tmp/output_file
$ mv -- /tmp/output_file ./input_file

答案4

另一种变化 - 或多或少正确,只是品味问题:

awk 'BEGIN{printf "insertedtext"};{print $0}' file1.txt > file2.txt

相关内容