diff --git a/fix-trailing-empty-lines b/fix-trailing-empty-lines new file mode 100755 index 0000000..83ea13f --- /dev/null +++ b/fix-trailing-empty-lines @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +def rm_trailing_empty_lines(fname) + file = File.read(fname, mode: "rb") + new_file = file.sub(%r{(?:(\r\n)(?:\r\n)*|(\n)\n*)\z}, '\1\2') + if file != new_file + File.open(fname, "wb") do |fh| + fh.write(new_file) + end + end +end + +ARGV.each do |arg| + if File.file?(arg) + rm_trailing_empty_lines(arg) + end +end