|
Siさん
> それと、68番の書き込みを見て思いついたのですが、WILD にバッチファイルを
> 渡す、と云うのはどうでしょう?
> (hoge.bat)
> Ygrep -N -f mix.pat "^v\.c\./vz" %1 >> C:\MWK2\vz.log
> wild -d hoge.bat C:\MWK\*.LOG
> 実際に試した訳ではないので大変恐縮ですが・・・
おお、完璧でした。コマンドラインに追加リダイレクションが出ないので、一
瞬、あれ、と思いましたが、バッチの【中身】がコマンドラインで展開される必
要はありませんね。ちゃんと80回、バッチを実行してくれました。パチパチパチ。
そう、あの手のバッチは機械に書いてもらいたい。(^^;
wild のタイムスタンプ、ファイル名、すいませんでした。 LFNが使える=
32ビットとばかり思いこんでいました。LFN用のライブラリーを使用したら
com モデルに収まらなくなった、みたいなのが、exe モデルにした理由かな、と
空想・妄想しました。タイムスタンプの方は、そんなのそう安直に変えたりしな
いんだけどな、とは思っているのですが。リネームは間違いなく僕がやってます。
LFNが使えるワイルドで、wildl.exe(今回のネーミング)。
実は、Ygrep についても発見がありました。Si さんには明らかに釈迦説なの
ですが、 grep, sed, awk はワンライナーするとき、それが複数のコマンド(ス
クリプト) だと -e "hoge" -e "foo" なんてしますし、ちょっと複雑だと -f と
スクリプトを指定するじゃないですか。だから、ま、グレップで -f はも大袈裟
だけど逃げ道はあると思っていたわけです。だから、ちょっと贅沢な(我が侭な)
不具合修正願いだと最初思ったわけです。ところが、ygrep のブロック定義を使
うと(これがおいしい!)-f hoge.pat の部分を取られてしまうので、-f 検索
パターンファイル が書けないよ、大変だよ、と半ばパニックしたわけです。こ
こまで思い至ってバッチの実験が成功したので、よかった、と本当に逃げ道はあ
ったのだと安堵したのです。
ところがところが、バッチの実験したあと
>type pat.txt
^v\.c\./vz
>Ygrep -f mix.pat -f pat.txt object.log >result
とやってみたら、あら! 通る! ブロックをきちんと認識したうえ検索パタ
ーンが含まれている記事を抽出してきました。ygrep、すごい! となりました。
というわけで、逃げ道は何とおりか見つかりましたので、大変だな、と思った
らコマンドライン上での文字消え現象については覚悟して臨みますので、無理を
なさらないでくださいね。深そうでもあるし…。
とはいえ、こんなのをワイルドに挟めたりしたら、かっちょえー、という気分
にはなれるなぁ、なんて気持ちは残ってはいますが。
>Sed -e :a -e "$!N;s/\n=/ /;ta" -e P;D file
あ、意味は、
If a line begins with an equal sign, append it to the previous line
and replace the "=" with a single space.
です。僕が書いたのでは、もちろんありません。この書き方はsedを選びます。
文太
|
|