Rubyの基礎

cygwin上で、「rb」という拡張子を付けたファイルにコマンドを書く。
例)BuzzAPI.rb

ウェブサーバからドキュメントを得る場合のソース。

require 'net/http'
Net::HTTP.version_1_2 # おまじない
Net::HTTP.start('www.example.com', 80) {|http|
response = http.get('/index.html')
puts response.body
}

リンク元:http://www.ruby-lang.org/ja/man/html/net_http.html

実行は、


ruby ./BuzzAPI.rb > ResultAPI.csv


としてファイルに落とすことができる。

  • 重複行の削除

1つのデータファイル[InputFilename]から重複する行を削除した
ファイルへ出力する[OutputFilename]。

sort -u [InputFilename] -o [OutputFilename]

どのデータが何件重複していたかを知りたい場合は、uniqを合わせて使う。

sort [InputFilename] | uniq -c > [OutputFilename]


ちなみに、sortはではデフォルトは文字列でのソートなので、
数字のソートにしたい場合は[-n] のオプションを付ける。
sortのオプション例

    • -n 数字で
    • -r 降順で
    • -u 同一レコードがあれば、1レコードのみ出力
    • -kn n列目のレコードをキーにする。(1列目はn=0)

3列目のデータをキーとして、数字の降順で並べ替える場合のコマンド例。
sort -nrk 2 [InputFilename]