0234185 (ワッチョイ 162c-1cTK)
2019/03/08(金) 00:25:29.01ID:N66/0TP00# 大文字小文字だけが異なる、ファイル名を見つける
filenames = <<"EOT".lines # ファイル名の配列
aB.txt
Ab.txt
xx
cd
CD
EOT
results = { }
filenames.each do |filename|
filename.chomp! # 改行を削除
fn_down = filename.downcase # 小文字に変換
if results.has_key? fn_down
results[ fn_down ].push filename
else
results[ fn_down ] = [ filename ]
end
end
return if results.empty? # 空
# 重複しないファイル名を削除する
results.reject! { |k, v| v.length == 1 }
results.each_value { |v| puts v.join( " : " ) }
結果
aB.txt : Ab.txt
cd : CD