« 今日の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