如何使用 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 (就地編輯)實現可移植性?

相關內容