2つのファイルがあります(ファイル1には1行だけが含まれ、ファイル2には複数行が含まれています)。ファイル2の行5をファイル1の唯一の行に置き換えたいと思います。最良のアプローチは何ですか?
ベストアンサー1
printf
2つを組み合わせると、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
(つまり、保存せずに終了)。