LoginSignup
1
0

More than 5 years have passed since last update.

Rubyでファイルの比較をする

Last updated at Posted at 2018-02-16

はじめに

エンジニア初心者なのでお手柔らかにお願いします。過激なレビューが来たら泣きます。

やりたかったこと

S3の中にretina用の画像が全部あるかDBのimageと照合したかった。

実装

S3のデータは記事を参考に取得。(S3内のファイルを簡単に検索する - Qiita
DBのimageデータとS3の該当する全てのデータをそれぞれテキストに貼り付ける。

db.txt
aaa.jpg
bbb.jpg
ccc.jpg
foo.jpg
s3.txt
retina_aaa.jpg
bbb.jpg
retina_ccc.jpg
search.rb
begin
  db = File.read('db.txt')
  s3 = File.read('s3.txt')
  shortCount = 0
  isExist = false
  db.each_line do |db_line|
    unless s3.include?("retina_#{db_line.chomp}")
      p db_line
      shortCount += 1
    end
  end
  p shortCount
end

結果

S3でretinaではなくファイル名が違うものと個数を算出することができる。

ターミナル
$ ruby search.rb
"bbb.jpg\n"
"foo.jpg\n"
2

S3をgrepするにはAmazon Athenaを使えばいいのですが料金がかかるのでRubyでやりました。
中身を変更したら他の内容の算出ができると思います。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0