Linuxで差分ファイルを使用してテキストファイルを更新します。
差分ファイルを準備する!
元のファイルを準備します。
$ cat sample_diff.txt 1,server01,user01 2,server02,user02 3,server03,user03
更新後のファイルを準備します。
$ cat sample_diff_new.txt 1,server01,user01 2,server02,user02 4,server04,user04
diffコマンドで、差分ファイルを作成します。
$ 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コマンドと差分ファイルを使用してファイルを更新します。
$ 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)