最初の行を除いてファイルのすべての内容を上書きするにはどうすればよいですか?

最初の行を除いてファイルのすべての内容を上書きするにはどうすればよいですか?

コマンド出力で頻繁に更新するCSVファイルがありますが、ヘッダを保持したいと思います。 Bash> file.csv構文がこの行を上書きするのを防ぐ方法は?

ベストアンサー1

リダイレクトの代わりに内部編集を使用するためのいくつかのオプション:

ed -s file.csv <<'EOF'
1r !some_command
1,.wq
EOF

または同様に

some_command | sed -i.bak -e '1r /dev/stdin' -e 1q file.csv

AFAIKでは、後者は「ビハインドストーリー」一時ファイルを使用します。

おすすめ記事