嗨,我正在尝试使用下面提到的 sed 命令替换我的文件中的标题行,
sed "1s/.*/$new_header/" Test_file.csv
Run Code Online (Sandbox Code Playgroud)
上面的行替换了标头并在 stdout 中打印,但是如何将输出重定向到新文件或直接替换文件?
sed "1s/.*/$new_header/" Test_file.csv > new_file.csv
Run Code Online (Sandbox Code Playgroud)
上面的命令工作正常,但我想重定向到同一个文件。
您可以使用将就地编辑并进行备份的-i标志sed:
sed -i.bak "1 s/.*/$new_header/" inputfile
Run Code Online (Sandbox Code Playgroud)
请注意,该-i选项是非标准的,在sed. 请参阅如何使用 sed -i(就地编辑)实现可移植性?