32ビットアプリでグレップしたい。ディレクトリ再帰もさせたい。
32ビットのグレップはどうもあまりうまいのが見つからない。
では、32ビットの awk、mawk32.exeにやってもらおう。awkに
ディレクトリ再帰の機能はないから、wild32.exe に手伝ってもらおう。
方針は、
(1)ヒットするファイルをディレクトリの奥深くに置いておく。
(2)グレップ用スクリプトは、「あ」がいっぱい並ぶ行をグレップ(抽出)せよ。
(3)wild32 でリカーシブせよ。
(4)結果は大量の0バイトファイルと、少数のヒット行を含む、対象と同名のファイル、
となるはず。
C:\WK>type t.txt ;これにヒットさせるつもり(1)
ああああああああああああああああああああ ;20個のはず。see ★
C:\WK>move t.txt c:\tk\vzlog\dc\01 ;ヒットさせるファイルをvzlog
;ディレクトリの奥に置く
C:\WK>type t.awk ;awk スクリプト(printを省略できる)
/あああああああ+/ ;(2)これでグレップと同じ機能
C:\WK>wild32 -R "mawk32 -f t.awk $f >c:\wk\$x" c:\tk\vzlog\dc\*.*
expand wildcard & excute command - WILD version1.50 (c) 1996-99 by namazu & Si
74 file(s) is found ;74個の対象ファイルです! 74個グレップせよ。
;wild32 でリカーシブ(再帰)だ(3)
C:\WK>dir ;結果です
C:\wk のディレクトリ
2024/11/23 15:55 0 DC01~012.LOG ;対象ファイルと同名の結果ファイル
2024/11/23 15:55 0 DC02.LST ;もちろん、ノン・ヒットなので
2024/11/23 15:55 0 DC02_968.LOG ;ゼロバイト
2024/11/23 15:55 0 DC02_981.LOG
2024/11/23 15:55 152 DC06C967.LOG ;ここには偶然、いっぱい
(いっぱい中略) ;「ああああああ」がいた
2024/11/23 15:55 0 DC18C995.LOG
2024/11/23 15:55 0 DC18C996.LOG
2024/11/23 15:55 0 DC19C973.LOG
2024/11/23 15:55 0 DC19~021.LOG
2024/11/23 15:55 0 DC19~027.LOG
2024/11/23 15:55 0 DC20B9A1.LOG
2024/11/23 15:48 27 t.awk ;スクリプト
2024/11/23 15:55 42 t.txt ;ヒット! 結果ファイルです。
;15:55 が上のノンヒットのログと同じ
;★=「あ」が20個+CRLF
繰り返しっぽいですが、vzlog\dc 以下に74個の対象ファイルがあり、
c:\wk に74個の結果ファイルができるあがる仕組みです。
同じことが、DOSVAXJ3 で、できればいいんじゃない?
32ビットアプリX2、ですが。