根据内容添加一行作为文件的第一行或第二行

dav*_*vka 1 sed awk text-processing

我想添加一行作为许多文件的第一行,除非文件的第一行是shebang,在这种情况下它应该是第二行。

don*_*sti 5

有很多方法可以做到……例如

sed '1!b
/^#!/a\
one_line_text
//!i\
one_line_text' infile
Run Code Online (Sandbox Code Playgroud)

请注意,您行中的反斜杠(如果有)必须被转义(例如\变成\\)。
这不会编辑空文件。此外,这不会就地编辑文件。查阅您的sed手册以查看它是否支持-i就地编辑文件(并检查该选项的语法)。