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オプションは非標準で、他で使用できますsedsed -i(所定の位置で編集)を使用して移植性を達成するには?

おすすめ記事