#----------------------------------------------------------------------- # # 日本語校正支援 # # 使用方法 # gawk -f proof.awk -v rule=ルールファイル, 作業ファイル, ... # # #----------------------------------------------------------------------- BEGIN { FS = "\t"; RULENUM = 0; # ルールの読み込み while( getline 0 ) { RULENUM++; RULE[RULENUM] = $0; PATTERN[RULENUM] = $1; COMMENT[RULENUM] = $2; if ( PATTERN[RULENUM] == "" ) { printf( "パターンがありません:%d:%s\n", \ RULENUM, $0 ); exit; } if ( COMMENT[RULENUM] == "" ) { printf( "注釈がありません:%d:%s\n", \ RULENUM, $0 ); exit; } } if ( RULENUM == 0 ) { printf( "ルールがないかファイルが開けません\n"); exit; } close( rule ); } { for ( i = 1; i <= RULENUM; i++ ) { string = $0; matched = gsub( PATTERN[i], "<<&>>", string ); if ( matched > 0 ) { # matched printf( "%s:%d\t%d:%s|\t%s\n", FILENAME, FNR, i, COMMENT[i], string ); } } }