#!/usr/bin/ruby # -*- coding:utf-8 -*- require 'nkf' ############################# # find_neologd_error_entries ############################# find_neologd_error_entries = Proc.new do file = File.new($filename, "r") lines = file.readlines file.close dicfile = File.new("neologd-error-entries.txt", "w") lines.length.times do |i| s = lines[i].chomp.split(",") # (凡例) 読み,表記,スコア,品詞 # s[-2], s[-3], s[3], s[4..-4],join(",") # 表記が4文字以上 if s[-3].length >= 4 && # 読みが表記の3倍以上 s[-2].length >= s[-3].length * 3 && # 表記が英数字を含まない s[-3].length * 3 == s[-3].bytesize && s[0].length * 3 == s[0].bytesize && # 読みが「カブシキ」を含まない s[-2].index("カブシキ") == nil dicfile.puts s.join(",") end end dicfile.close end ############################# # main ############################# targetfiles = ARGV if ARGV == [] puts "Usage: ruby script.rb [FILE]" exit end targetfiles.length.times do |i| $filename = targetfiles[i] find_neologd_error_entries.call end