_ another blog@hatena/Wiki/BBS
なんかこんなん既に世の中にありそうな気がするが、仕事中についカッとなったので作った。
SQLで書かれたDBのスキーマ定義をgrepして「どのテーブルの定義にその行があるのか」を表示する感じ。
#!/usr/bin/perl use strict; my $DDLFILE = '/file/path/to/DDL.sql'; unless($ARGV[0]){ exit; } open(my $DDL,$DDLFILE); my $current = ''; my $line = 0; while(<$DDL>){ $line++; chomp($_); if(/create\s+table\s+(\S*)/i){ $current = $1; } if(/$ARGV[0]/o){ printf "%-25s(line:%d): %s\n",$current,$line,$_; } }