昨日はバイクで職場に行きました。12時過ぎに仕事が終わったので、秋葉原でアニメのステッカーを貼るオフ会があるとのことなので行ってみたのですが誰もいない…
スレを見ると毎週やりすぎていて警察に目を付けられそうだから、秋葉原での開催は一時凍結だったようですね。
自分のバイクには何もついていないですが、見るのは結構楽しめるのでちょっと楽しみにしてたんですが残念でした。
暇になってしまったので靖国通りを西に淡々と進んで新宿に行ってみました。九段下って坂の下にあるから九段下なんですかね?東京も結構起伏があるもんなんですね。
新宿に行っても特にやることはなかったのですが、ぶらりと散歩してみました。
が、殺伐としてて怖かったです…あの高級車に乗って新聞読みながら路駐している人たちは何なんだろう…
コマ劇場?の前の広場では人がごろごろ潰れているし。あんなに潰れた人をいっぺんに見たのは初めてですよ。
あとバッティングセンターがありました。あんな所にあるもんなんですねぇ。郊外にあるものしか見たことがなかったので新鮮でした。
深夜の新宿は初めて行く人間にとってはちょっとおっかないところですね。慣れた人と行ったり、自分が慣れたりするとまた違うんでしょうけども。
そんな良い経験をした昨日でした。これで新宿辺りにバイクで集合といわれても迷わないぞ…たぶん…
次は深夜の渋谷か池袋か六本木辺りを見に行ってみようと思っています。
昨日は久しぶりに会社へ行かない一日でした。
夕方くらいまでダラダラと洗濯や掃除を行った後、IRC(チャット)仲間で、結構近くに住んでいるぐむさんを誘ってご飯を食べに行きました。
ぐむさんがお好み焼きを食べたいといって、近場のお好み焼き屋をネットで検索してたそうなのですが、「玉金」というお店が検索して2番目に出てきたそうです。
これは凄い名前だ、行こうぜ!と盛り上がり、店名の呼び名を調べると…たま…がね?うわちがうたまきんだ。と、あまりにアレな名前にびっくりしながらも店へと向かいました。
実際に店に行ってみると、ちょっと目立たないところにあるわりにかなり混んでいて、順番待ちする程でした。
確かにもんじゃもお好み焼きも結構おいしかったです。もんじゃをまともに食べたのは初めてでしたが、なかなか変わった食べ物ですね。
その後ぐむさんに誘われてカラオケに。あんまりカラオケ行かないんですが、結構楽しかったなぁ。ただ、アニソンを歌うときは、そのアニメが出たほうが楽しいですね。アニソンを沢山歌うのがわかっている場合はそういうのに対応している会社のカラオケを選んだほうがよさそうです。
久しぶりにリフレッシュできました。遊んでくれたぐむさんありがとう。
何となく出来たので載せときます。
説明文は後で追記する事にしよう。
使い方
ruby exgrep.rb '検索したい正規表現' '検索したいエクセルファイル名'
そうすると検索したい正規表現があるセルを
ファイル名:シート名:行:列:セルの内容
で表示してくれます。(grep -Hn風)
注意
くくりはシングルクォートでお願いします。
ダブルクォートだとrubyに渡す前にコマンドプロンプトで展開しちゃうみたいですね。
例)
'*.xls' => *.xlsがARGVへ渡る
"*.xls" => *.xlsを検索した結果がARGVへ渡る
便利な使い方
検索したいエクセルファイル名はrubyのDir::glob(ココ←)に直接渡るので**/*.xlsとかが使えます。
おやくそく
基本的には安全な『はず』のソースですが使用は自己責任でお願いします。
ライセンス
良く知らない…ので後で書きます
たいした物じゃないのでお好きにどうぞ
todo
セルの結合に対応してない?
引数がないとエラーになります
エクセルファイル以外を指定するとエラーになります
思いついたら追記します。
$KCODE = 's'
require 'win32ole'
def getAbsolutePath filename
fso = WIN32OLE.new('Scripting.FileSystemObject')
return fso.GetAbsolutePathName(filename)
end
def openExcelWorkbook filename
filename = getAbsolutePath(filename)
xl = WIN32OLE.new('Excel.Application')
book = xl.Workbooks.Open(filename)
begin
yield book
ensure
xl.Workbooks.Close
xl.Quit
end
end
def putresults filename, sheetname, row, col, val
puts "#{File::basename(filename)}:#{sheetname}:#{row}:#{col}:#{val.to_s.gsub(/\n/,"\\n")}"
end
regexp = Regexp.new(ARGV[0])
filenames = ARGV[1]
Dir::glob(filenames) do |filename|
openExcelWorkbook(filename) do |book|
book.Worksheets.each do |sheet|
sheet.UsedRange.Rows.each do |row|
row.Columns.each do |cell|
putresults(filename, sheet.Name, row.Row, cell.Column, cell.Value) if regexp =~ cell.Value.to_s
end
end
end
end
end
直訳すると『漢カワサキ』
本名なのでしょうかね。
http://ja.wikipedia.org/wiki/%E3%82%AC%E3%82%A4%E3%83%BB%E3%82%AB%E3%83%AF%E3%82%B5%E3%82%AD
アメリカのネット界ではそれなりに有名な人のようですが…もし本名だとすると名付け親がバイク好きなのかな?
_ ヽ(´・肉・`)ノ [はやかささん 安いですねー。自分は知りませんでした… ぴたははさんのニュースになっていたのを僕はみた覚えはありません..]
_ はやかさ [早速貼ってきました。 んで、この保険、自分の怪我の保障が付いてないみたいです。 必要なら別途入る必要があるので、そう..]
_ ´∀`)Ψ [>>はやかさサン ファミバイ特約使えない人も結構多いみたいですもんねぇ。そういう人に助けになればいいなぁ。 >>肉..]
_ ヽ(´・肉・`)ノ [はやかささん そうなんですかー ファミバイ特約は家族の誰かが 車/バイクを持ってないと駄目なんですよね? これで原二..]
_ はやかさ [>>Ψさん ですねー。とりあえず自分自身のことを置いとけば、対人対物ともに無制限なのでかなり使える保険かと。 普通に..]
スパム弾きにNucleusプラグインのNP_Blacklistを使ってます。
今の所、次の3つが設定してあれば全て弾けているみたいです。
Nucleuswikiに書いてあった。正規表現万歳!
(実は一番下のは意味がわからないんですが…)
「href=...」が3回以上含まれるコメントをはじく
(href=([\w\W\n\r]*?)){3,}
「http...」が3回以上含まれるコメントをはじく
(http([\w\W\n\r]*?)){3,}
全角文字を含まないコメントをはじく
^+$
_ はやかさ [バドミントンも踵に体重が乗ることはほとんど無いですよ。 私はもう無意識に、靴履いてない時はつま先立ちがデフォになって..]
_ ´∀`)Ψ [それとは少し違いますけど、座席に座った状態で少しだけ膝を伸ばして足を浮かせてる人は見たことあります。その人は左右交互..]
_ ヽ(´・肉・`)ノ [はやかささん なかなかのやり手とお見うけします… ψさん 自分の場合、仕事ではほとんど動かないので、意識的にどこか..]
_ はやかさ [ちょっと前のめりにしてるだけでも大分違いますよ。 足の裏全体は接地してるが体重が掛かってるのはつま先だけ、って感じで..]
_ ヽ(´・肉・`)ノ [はやかささん 自分は重心について考えたりしますねぇ 歩幅については全然意識していませんでした。自分もやってみよっと]
オシムwww
Q:明日の試合は全体的として「組織」対「個」という構図で見ているが、そのへんをどうお考えか?
(オシム)「どちらが個人でどちらが組織ですか? 質問の意味が分かりませんが」
J's GOALで続きをどうぞ
http://www.jsgoal.jp/news/00051000/00051786.html
オシムは日本のこれまでのスポーツの見方で質問すると皮肉っぽく返してくれるから面白いです。
サッカーに関する質問をするとちゃんと答えてくれるみたいなんだけどな。
コンサドーレ札幌の三浦監督もコメントがロジカルで面白いです。
_ かいちょー [WRの鍵なしタンクキャップでも一度も抜かれたことがないですよ。 場所によるのでしょうか・・・。]
_ ヽ(´・肉・`)ノ [かいちょー 僕の住んでるところは治安があまりよくないから…]