« [mysql] やる夫がDBに接続できなくて困っているようです。 | トップページ | やる夫がDHCP 設定をするようです。 »

2007-12-26

diff/patch [ファイル管理コマンド]

diff コマンド

ファイルの差分を出力する。結構好きなコマンド、でもオプションを詳しく知っているわけではない。

patch コマンド

diff ファイルをオリジナルのファイルに適用するコマンド。”sed”とか”awk”でも代用可能かな?とか思いましたが、パッチ当てる前に戻すことも可能とか、なので楽なのです。

手順

今回はオリジナルファイルに対して、パッチ当てをして、やっぱ元に戻したいっスって手順にしてます。参考までに・・・。

”verification.txt”ファイルをオリジナルファイルとします。”verification.txt.rej”としてコピーして編集しパッチを作成します。

# ls
verification.txt
# cat verification.txt
       ____
    /      \
   /  ─    ─\
 /    ,(●) (●)、\
 |       (__人__)    |   
 \     ` ⌒´   /  
,,.....イ.ヽヽ、___ ーーノ゙-、.
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||
# cp -p verification.txt verification.txt.rej

  • -p オプションは、パーミッション・タイムスタンプを引き継ぎます。今回では特に意味なし。

適当に編集します。やる夫のコメントを追加しました。

# vi verification.txt.rej
-----
       ____
    /      \
   /  ─    ─\
 /    ,(●) (●)、\  やる夫のAAはって見ますた
 |       (__人__)    |   
 \     ` ⌒´   /  
,,.....イ.ヽヽ、___ ーーノ゙-、.
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||
-----

パッチファイルの作成

# diff -c verification.txt verification.txt.rej > verification.txt.patch
# cat verification.txt.patch
*** verification.txt       2007-12-26 11:52:39.000000000 +0900
--- verification.txt.patch 2007-12-26 11:51:50.000000000 +0900
***************
*** 1,7 ****
         ____
      /      \
     /  ─    ─\
!  /    ,(●) (●)、\
   |       (__人__)    |   
   \     ` ⌒´   /  
  ,,.....イ.ヽヽ、___ ーーノ゙-、.
--- 1,7 ----
         ____
      /      \
     /  ─    ─\
!  /    ,(●) (●)、\  やる夫のAAはって見ますた
   |       (__人__)    |   
   \     ` ⌒´   /  
  ,,.....イ.ヽヽ、___ ーーノ゙-、.

パッチファイルの適用

# patch -p0 < verification.txt  < verification.txt.patch
patching file verification.txt
# cat verification.txt
       ____
    /      \
   /  ─    ─\
 /    ,(●) (●)、\  やる夫のAAはって見ますた
 |       (__人__)    |   
 \     ` ⌒´   /  
,,.....イ.ヽヽ、___ ーーノ゙-、.
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||

ちゃんとやる夫がコメントが反映されてますね。

パッチファイルの解除

# patch -p0 -R < verification.txt  < verification.txt.patch
patching file verification.txt

  • ーR オプションは、パッチの解除です。 

”verification.txt”を確認すると、やる夫のコメントが消えている筈。

|

LINUX コマンド」カテゴリの記事

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/488651/9577187

この記事へのトラックバック一覧です: diff/patch [ファイル管理コマンド] :

コメント

ニコニコ動画

投稿 やる夫 | 2007-12-26 15時25分

コメントを書く