
Linuxで差分ファイルを使用してテキストファイルを更新します。
差分ファイルを準備する!
元のファイルを準備します。
1 2 3 4 | $ cat sample_diff.txt 1,server01,user01 2,server02,user02 3,server03,user03 |
更新後のファイルを準備します。
1 2 3 4 | $ cat sample_diff_new.txt 1,server01,user01 2,server02,user02 4,server04,user04 |
diffコマンドで、差分ファイルを作成します。
1 2 3 4 5 6 | $ diff sample_diff.txt sample_diff_new.txt > sample_diff_patch.txt $ cat sample_diff_patch.txt 3c3 < 3,server03,user03 --- > 4,server04,user04 |
差分ファイルを使用してファイルを更新する!
patchコマンドと差分ファイルを使用してファイルを更新します。
1 2 3 4 5 6 7 8 9 10 11 | $ patch -b sample_diff.txt sample_diff_patch.txt patching file sample_diff.txt $ cat sample_diff.txt 1,server01,user01 2,server02,user02 4,server04,user04 $ ls -l sample_diff* -rw-rw-r--. 1 usradmin usradmin 54 Feb 7 12:24 sample_diff_new.txt -rw-rw-r--. 1 usradmin usradmin 48 Feb 7 12:24 sample_diff_patch.txt -rw-rw-r--. 1 usradmin usradmin 54 Feb 7 12:25 sample_diff.txt -rw-rw-r--. 1 usradmin usradmin 54 Feb 7 12:23 sample_diff.txt.orig |
おわりに
巨大なデータファイルの更新には、差分の更新が便利と思いますが、最近ではpatchコマンドがデフォルトでインストールされていないことがあり、patchのパッケージのインストールが必要な場合があります。
関連記事
関連書籍(Amazon)