恐らくこのブログを一番検索しているのはid:syou6162なんだけど、毎回http://d.hatena.ne.jp/syou6162から検索するのは面倒すぎる。日記ははてダラで書いているので、テキストはローカルにある。じゃあ、grepで探せよ、という話なんだけど、htmlで表示してくれると見やすいので、webのほうで今まで検索していた。
が、この辺で、はてダラのtxtをhtmlにコンバートするのを作っていたので、これを使うことにした。
hds
- hatena diary searchっぽい意味で
#!/usr/bin/env ruby keyword = ARGV.pop hatena_dir = File.expand_path("~") + "/hatena/syou6162/diary/" system "grep #{ARGV.join(" ")} \"#{keyword}\" #{hatena_dir + "*.txt"}"
使い方
最近の10件を検索。grepのオプションもそのまま投げているので、簡単。
/Users/syou6162/bin% hds "\[Ruby\]" | tail -n 10 /Users/syou6162/hatena/syou6162/diary/2009-05-09.txt:*1241876089*[Ruby]トポロジカル順序付け /Users/syou6162/hatena/syou6162/diary/2009-05-10.txt:*1241898678*[Ruby]ダイクストラ法による最短路検索 /Users/syou6162/hatena/syou6162/diary/2009-05-11.txt:*1242041672*[Ruby][自然言語処理][NLP]猫はうろうろ /Users/syou6162/hatena/syou6162/diary/2009-05-15.txt:*1242371711*[Ruby][NLP][自然言語処理]コスト最小法によるViterbiアルゴリズムを実装してみた /Users/syou6162/hatena/syou6162/diary/2009-05-19.txt:*1242661982*[Ruby][アルゴリズムデザイン]系列アライメントのアルゴリズムをRubyで実装した /Users/syou6162/hatena/syou6162/diary/2009-05-20.txt:*1242787803*[Ruby][自然言語処理]出現頻度と連接頻度に基づく専門用語抽出 /Users/syou6162/hatena/syou6162/diary/2009-05-20.txt:*1242795208*[Ruby]深いコピー? /Users/syou6162/hatena/syou6162/diary/2009-05-27.txt:*1243452261*[Ruby]トポロジカルソートのベンチマークらしきもの /Users/syou6162/hatena/syou6162/diary/2009-06-01.txt:*1243865869*[Ruby][NLP][自然言語処理]指標を全部実装してみた /Users/syou6162/hatena/syou6162/diary/2009-06-11.txt:*1244731367*[Ruby]はてダラのテキストを検索する
ho
- hatena openっぽい意味で
#!/usr/bin/env ruby # -*- coding: utf-8 -*- require "optparse" @options = { :hatena => nil, #はてなで開く } opts = OptionParser.new opts.on("--hatena"){|boolean| @options[:hatena] = boolean } opts.parse!(ARGV) if @options[:hatena] system "open http://d.hatena.ne.jp/syou6162/#{ARGV[0]}" else year = ARGV[0][0..3] month = ARGV[0][4..5] day = ARGV[0][6..7] system "ruby ~/bin/convert_from_hatena_to_html.rb -i ~/hatena/syou6162/diary/#{year}-#{month}-#{day}.txt -o /tmp/#{ARGV[0]}.html" system "open /tmp/#{ARGV[0]}.html" end
使い方
/Users/syou6162/bin% ho --hatena 20090105
こんな感じでやると、その日のをはてなダイアリーでopenしてくれる。
/Users/syou6162/bin% ho 20090105
これだと変換して、ローカルのhtmlで見れる。オフラインとかで便利そう。