如何使用 sed 替换第一行?

如何使用 sed 替换第一行?

您好,我正在尝试使用 sed 命令替换文件中的标题行,如下所述,

sed "1s/.*/$new_header/" Test_file.csv 

上面的行替换了标题并在标准输出中打印,但是我如何将输出重定向到新文件或直接替换文件?

sed "1s/.*/$new_header/" Test_file.csv > new_file.csv 

上面的命令工作正常,但我想重定向到同一个文件。

答案1

您可以使用-i标志来sed就地编辑并进行备份:

sed -i.bak "1 s/.*/$new_header/" inputfile

请注意,该-i选项是非标准的,并且在不同的sed.看如何使用 sed -i (就地编辑)实现可移植性?

相关内容