ファイル2の特定の行をファイル1の内容で上書きします。

ファイル2の特定の行をファイル1の内容で上書きします。

2つのファイルがあります(ファイル1には1行だけが含まれ、ファイル2には複数行が含まれています)。ファイル2の行5をファイル1の唯一の行に置き換えたいと思います。最良のアプローチは何ですか?

ベストアンサー1

printf2つを組み合わせると、edファイルスクリプトを編集するための素晴らしいツールになります。

printf '%s\n' '5r file1' 5d w | ed file2

edこれは編集に使用されますfile2。コマンドは、printf各コマンド間に改行または改行文字()を使用して、各引数を一度に1つずつパイプします。ed\n

コマンドは次edのとおりです。

  • 5r file1 - コンテンツの挿入file1 後ろに5号線
  • 5d - 5行目を削除
  • w - 変更をfile2ディスクに書き換えます。これがない場合、終了時に変更は削除されますed(つまり、保存せずに終了)。

おすすめ記事