def file_with_split_sentences(old) contents = File.read(old).split_keep_after(/[\.!\?] *[A-Z\n]/, 2) begin newname = "#{old}-sdiff-#{random_chars 5}"; end while File.exists?(newname) File.open(newname, "w") { |file| file.write contents.join("\n")} newname end fnames = ARGV[-2..-1].collect{|f| file_with_split_sentences f.chomp} system "diff #{ARGV[0...-2].join " "} #{fnames.join " "}" "rm #{fnames.join " "}"