準・究極の選択

2つのテキストファイルの差分を取得したいと思っています。
rubyを使用してdiffコマンドの様な事は可能でしょうか?
テキストを1行ずつ配列に入れて - で比較していく方法を使用してみたのですが、途中で行数が変わるような変更が起こっていると上手く動作できませんでした。
理想としては一部が変更された行、追加された行、削除された行といった物を取得したいです。
もし上手く解決出来る様な手法がありましたら、ご教示お願いいたします。

A 回答 (2件)

diffは結構高度なことをやっているので、同じようなことをやるのは大変です。


それこそRubyからdiffを呼び出せば良いのですが、

それか、diff-lcsというのがありますので、それを使われてはいかがでしょうか。
http://rubygems.org/gems/diff-lcs
rubygemsでインストールできます。他にもdiffから始まるものがたくさん有りますので、利用可能かもしれません。
    • good
    • 2

open('test1.txt').readlines - open('test2.txt').readlines



readlinesで配列として格納し差分を取得すればよろしいかと?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!