« 今日のDB。 | Main | 今日のスティッチ。 »

2008年01月25日(金)

今日のgrep。

仕事で人のソースの解析をするときに、色んな事情でまっさらなWindowsマシンにネットなしで何とかしろ、ということがたまにある。こういうときに一番困るのがgrepコマンドがないこと。FINDコマンドやエクスプローラの検索は使いづらくて困るのである。そういうときはその場でGrepを作って凌いでいたりする。タイプ量を少なくするためかなり行儀の悪いコードだが。

import java.io.*; public class Grep { public static void main(String[] a) { pick(new File(a[1]), a[0]); } static void pick(File f, String ptn) { if (f.isFile()) try { BufferedReader in = new BufferedReader(new FileReader(f)); for ( ; ; ) { String s = in.readLine(); if (s.indexOf(ptn) >= 0) System.out.println(f + ":" + s); } } catch (Exception e) {} else for (File l: f.listFiles()) pick(l, ptn); } } // for JDK5

Posted by awa at 10:00.08
Categories: 雑記