[HOME] [リストへもどる] [新着50]  [最新100]  [全部表示 会議室風]  [全部表示 保存用]

新着記事 30


11718Re^2: Grep.exe 5.5 (Borland) 投稿者:文太   2024/11/29(金) 23:23
  11717 番 konno さんへのコメント

konnoさん

>が、予想通り、NGでした。(>_<)
 でしょうね。でも、Borlandは、どうやって2バイト文字だと判定
してるのでしょう? 「....」とか。
 すげえな、と思いました。GNU の日本語対応なしより Borland でしょう。
 2バイト文化圏(中国と韓国と日本?)を意識していたのか?

>> ソ、表、噂、欺、十、貼、構、暴、兎、予、申 など。
>これらの漢字が無ければ正規表現でも大丈夫なのかな、参考にします。
 なんじゃないでしょうか。だから、「Yagrep.exe」(検索文字列)
なんてのは、前後でよほど運が悪くなければ、ちゃんとヒットするん
じゃないかなぁ???
 僕のテストは何となく思いついた程度をやったので、網羅的とは
とうてい言えませんが。安全にたおせば、やはり、信頼のおける、16ビットの
ygrep, cgrep, izgrep あたりじゃないのかな。あるいは、マルチバイト対応の
16ビットのGNUもの。
 スピードはがまん。
 ygear.def by とらじ、を使ってみてください。すごいですよ。
 コマンドラインを一部再現してるので、とっつきにくいけど。でも、メニュー
があるから、使い込むほどベンリ! 最近は使ってないけど。

 あと、正規表現、使うと便利ですよ。せっかく grep なんだし。
 egrep。だいたい vwx と同じ拡張正規表現です。こっちのほうが、
大方、便利です。「ああ*」=「あ+」ですから。「あ」の1回以上の繰り返し。

>> CMD窓の文字コードは、いまでも SJIS がデフォなのだそうです。
>そうなんですか、でも今の調子だといつ SJISが切り捨てられてもおかしくないですね。
>SJISテキストの膨大な過去資産があるから、実際にはおいそれと変えられないのかも。

 どうなんでしょうね? shadowさんのアドバイスにしたがって、「レガシーコンソール」
を Win11 に入れたら、おお、変な文字化けがなくなった、と喜びました。
 が、「レガシーコンソール」もオプション扱いに格下げになっているようで、うう、
どうなんだろう、という感じはしてます。

 すいません、VTDOS で、手一杯なもので。DOS, WinME, WinXP あたりの調教が
まだまだ先みたいで。チェーンソーと格闘しています(謎)。ついに、2サイクル・
ガソリンエンジンのチェーンソーを使ってしまった。すごく疲れました。
 下手をすれば、指も腕も飛んでいく、恐怖。でもすごいパワー。さすが化石燃料。


    - No.11718 -   [コメント元:11717]    [リストへもどる]
soft

11717Re: Grep.exe 5.5 (Borland) 投稿者:konno   2024/11/29(金) 21:05
  11716 番 文太 さんへのコメント    コメント数 1

>  微妙に ver が違いますが、きっと同じじゃないかな?
>  結論からいうと、十分にすごい。でも抜けもある。とりわけ¥がらみの「表」とか。
>  比較対象は、16bit ygrep.exe。こっちが正解。
> Turbo GREP 5.5 Copyright (c) 1992, 2000 Inprise Corporation

おお、一つ前のバージョンがあったのですね。でも抜けがあったとは残念。

> C:\WK>grep "[亜-腕弌-龠]" 1.txt ; NG
> File 1.txt:
> 愛

うーむ、通常検索はOKで、正規表現が「表」に対応してないような感じですね。
0.1の違いに一縷の望みを託して試してみました。
が、予想通り、NGでした。(>_<)

> https://ja.wikipedia.org/wiki/Shift_JIS
> 「2バイト目が5C等になりうることによる問題」
>  ソ、表、噂、欺、十、貼、構、暴、兎、予、申 など。

これらの漢字が無ければ正規表現でも大丈夫なのかな、参考にします。

> 追記:VTDOS環境も同じだろうと思うけど(じゃないと変)、日本語版 windows の
> CMD窓の文字コードは、いまでも SJIS がデフォなのだそうです。UTF-8に変更
> することも可能なようですが。

そうなんですか、でも今の調子だといつ SJISが切り捨てられてもおかしくないですね。
SJISテキストの膨大な過去資産があるから、実際にはおいそれと変えられないのかも。

    - No.11717 -   [コメント元:11716]    [リストへもどる]
pre

11716Grep.exe 5.5 (Borland) 投稿者:文太   2024/11/28(木) 11:43
  11715 番 konno さんへのコメント    コメント数 1

 微妙に ver が違いますが、きっと同じじゃないかな?
 結論からいうと、十分にすごい。でも抜けもある。とりわけ¥がらみの「表」とか。
 比較対象は、16bit ygrep.exe。こっちが正解。

C:\WK>grep
Turbo GREP 5.5 Copyright (c) 1992, 2000 Inprise Corporation
Syntax: GREP [-rlcnvidzuwo] searchstring file[s] or @filelist
GREP ? for help

C:\WK>type 1.txt


表表
あいうえお


C:\WK>grep "表+" 1.txt
File 1.txt:

表表

C:\WK>ygrep "表+" 1.txt
1.txt 2:表
1.txt 3:表表


C:\WK>grep "[亜-腕弌-龠]" 1.txt ; NG
File 1.txt:


C:\WK>ygrep "[亜-腕弌-龠]" 1.txt
1.txt 1:愛
1.txt 2:表
1.txt 3:表表


C:\WK>grep "[ぁ-ん]" 1.txt
File 1.txt:
あいうえお

C:\WK>ygrep "[ぁ-ん]" 1.txt
1.txt 2:あいうえお


C:\WK>grep "[ぁ-ん][ぁ-ん]*" 1.txt
File 1.txt:
あいうえお

C:\WK>ygrep "[ぁ-ん][ぁ-ん]*" 1.txt
1.txt 4:あいうえお


C:\WK>grep "....." 1.txt
File 1.txt:
あいうえお

C:\WK>grep ".........." 1.txt


C:\WK>ygrep "....." 1.txt
1.txt 4:あいうえお

C:\WK>ygrep ".........." 1.txt


 ygrep.cfg が普段のまま、なのは手抜きです。
 これだけじゃないかもしれないけど。

https://ja.wikipedia.org/wiki/Shift_JIS
「2バイト目が5C等になりうることによる問題」
 ソ、表、噂、欺、十、貼、構、暴、兎、予、申 など。

追記:VTDOS環境も同じだろうと思うけど(じゃないと変)、日本語版 windows の
CMD窓の文字コードは、いまでも SJIS がデフォなのだそうです。UTF-8に変更
することも可能なようですが。



    - No.11716 -   [コメント元:11715]    [リストへもどる]
pre

11715Turbo GREP 5.6 投稿者:konno   2024/11/27(水) 22:01
  11708 番 文太 さんへのコメント    コメント数 1

まとレスです。
#11706
> 文太、TurboC 1.5
> 1988/01/25 01:05 5,930 GREP.COM
文太さんもとしきさん以上の収集家なんですね。(^^;

> 追記:Turbo grep には、ver. 1.0 から、「ディレクトリ再帰」がある!
>  -d Search subdirectories
これを見て Turbo grep 1.2 を試してみました。
FGAL\ のフォルダから再帰検索すると 非常に時間が掛かります。
VTDOSで各種 grep の再帰検索時間を測ってみました。いずれもキャッシュが効いた状態

GREP -Hnir "YAgrep.exe" *.* 13秒 GNU grep 2.5.4 32ビット
BGrep -dnio "YAgrep.exe" *.* 17秒 Turbo grep 5.6 32ビット
TGrep -dnio "YAGREP.exe" *.* 29秒 Turbo grep 1.2 16ビット
YGrep -Srti "YAgrep.exe" *.* 1:07秒 16ビット
WGrep ハングアップでDOS窓消滅 DOSVAXJ3も同じ

こうして見ると Turbo grep 1.2 は16ビットなのに速いですね。
次に "表十愛" のテストをしてみました。

#11708
> C:\WK\POPOGREP>type t.txt
> 表
> 十
> 愛

このナイスなテストテキストで文太さんと同じようなテストをしたら
grep 2.5.4 は駄目でした。愛はOKだけどそれ以外はNG。1行に漢字1文字だけだとNG? 惜しい
Turbo grep 1.2 は駄目でした。漢字2バイトを認識してないようです。残念。
Turbo grep 5.6 は全部OKみたいです。これは使えるかも。

これは BCC (Borland C++ Compiler) だったかな、にありました。
区別のためにリネームしています。

>bgrep ?
Turbo GREP 5.6 Copyright (c) 1992-2010 Embarcadero Technologies, Inc.
Syntax: GREP [-rlcnvidzewoqhu] searchstring file[s] or @filelist

Options are one or more option characters preceded by "-", and optionally
followed by "+" (turn option on), or "-" (turn it off). The default is "+".
-r+ Regular expression search -l- File names only
-c- match Count only -n- Line numbers
-v- Non-matching lines only -i- Ignore case
-d- Search subdirectories -z- Verbose
-e Next argument is searchstring -w- Word search
-o- UNIX output format Default set: [0-9A-Z_]
-q- Quiet: supress normal output
-h- Supress display of filename
-u xxx Create a copy of grep named 'xxx' with current options set as default

A regular expression is one or more occurrences of: One or more characters
optionally enclosed in quotes. The following symbols are treated specially:
^ start of line $ end of line
. any character \ quote next character
* match zero or more + match one or more
[aeiou0-9] match a, e, i, o, u, and 0 thru 9 ;
[^aeiou0-9] match anything but a, e, i, o, u, and 0 thru 9


もしかすると正規表現が簡易版かもしれませんが私の用途では充分です。

    - No.11715 -   [コメント元:11708]    [リストへもどる]
pre

11714Re: 32bit Grep (Japanese) 投稿者:文太   2024/11/25(月) 20:15
  11708 番 文太 さんへのコメント

 popogrepについて(勝手に名前を変えてすいません)です。
「作者名:popo.neco」という方の作品でした。grep.exeがオリジナルの
名前。
 ●動作環境  IBM PC/AT互換機 Windows 2000/XP 以降 となっています。

>ま、バグってはいます。
>たぶん、

 これは、プログラムの側に責任があるというより、VTDOS環境との
相性だと思われます。僕はこりてしまったので、32bit grepからは
撤退しますが、こういう環境(DOSエミュ全般?)との【相性】という
のは、きっとあるのでしょう。
 rcp32.exeが当初から動いて、よかったですね。

 VTDOSその他のDOSエミュレータで、16ビット・アプリが無事に
動き続けることを祈ってます。僕は、Vzというか、趣味の情報管理
としてのPCという意味では、XP以前まで後退します。

 いやぁ、壁は厚かった。wild + izgrep が VTDOS @ Win11 で
動かなかったときは、「や、やばいぞ」と強く思いました。
 大昔ほど真剣には、暗い気持ちにならなかったのですが。この方面では
もうあまり前を見なくてよい、と思っているので。


    - No.11714 -   [コメント元:11708]    [リストへもどる]
soft

11713popogrep & findstr @ CMD窓 投稿者:文太   2024/11/25(月) 18:42
  11711 番 文太 さんへのコメント

>type test.txt




>popogrep "." test.txt
test.txt(1): 表
test.txt(2): 十
test.txt(3): 愛

>popogrep ".." test.txt
(zero)

 popogrepは、VTDOS環境ではまともに動きませんが、cmd窓なら
動くようです。(テストは上だけ)


c:\wk>findstr -R "." test.txt




c:\wk>findstr -R ".." test.txt




c:\wk>findstr -R "..." test.txt
(zero)

 やはり、findstr.exeは、日本語対応ができていません。
少なくとも正規表現の「.」(任意の1字)は、ダメです。
 (日本語対応はまったくダメ、という部分、本当なのか、ちょっと
自信がないけど。cmd窓の日本語化とかあるんですかね? しかし、
その日本語はUTF-8とかじゃないのかな、、、。SJISはどうなる?
などなど)

 この辺で打ち止めです。やはり、僕は16ビット、SJISな環境に
とどまりたいと思いました。
 こんなに苦労することになるとは、夢にも思ってなかった。


    - No.11713 -   [コメント元:11711]    [リストへもどる]
soft

11712Re^4: konnoさん、掲示板? 投稿者:konno   2024/11/25(月) 15:30
  11710 番 としき さんへのコメント

> > mode=msgviewのときだけ表示が変なのですね。
> 行頭の半角「1」が欠落する、というのはmode=msgviewのときだけですね。

ソースを確認したら、変な部分を見つけました。
$v_msg =~ s/<br>1/\n/g;
これは、
<br> を \n に変換するところだと思いますが、1 が余計に入っている?
$v_msg =~ s/<br>/\n/g;
1を削除したら正常になりました。これか!
多分ソースを弄っている時にうっかり1を押してしまったのでしょう。
うちのノートPCはテンキー付きなので指が触れやすいのです。
うっかりミスを発見してくれてありがとうございます。
てか、そもそもここでこの変換は必要なのだろうか? <br>を表示させるためかな?

> ただ、今、いろいろと見て回っていたら、konnoさん、ちょうど手を入れている最中
> なのかな。mode=allreadのツリー表示が微妙に崩れているところがある。
> なんかまた、デグレが発生したかな。

げげ、結構崩れていますね。でもツリールーチンは最近弄った記憶が無いのですが。
ルーチンとしてバグが残っているとは思ってましたが、ここまで酷くはなかったような。
見てみます。


追記
¥n は改行になってるし、<br>は表示してないじゃん!
また見直さなくては。(;_;)

    - No.11712 -   [コメント元:11710]    [リストへもどる]
pre

11711findstr.exe (32bit Win Grep) 投稿者:文太   2024/11/25(月) 13:17
  11708 番 文太 さんへのコメント    コメント数 1

 これでいいでしょう! >findstr /? とすれば出るので、以下は
抜粋です。

C:\WINDOWS\SYSTEM32>dir findstr.exe
C:\WINDOWS\SYSTEM32 のディレクトリ
2010/11/20 21:17 62,976 findstr.exe

C:\>findstr /?
ファイルから文字列を検索します。

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
[/F:ファイル] [/C:文字列] [/G:ファイル] [/D:ディレクトリ一覧]
[/A:色属性] [/OFF[LINE]] 文字列 [[ドライブ:][パス]ファイル名[ ...]]

/L 検索文字列をリテラルとして使用します。
/R 検索文字列を正規表現として使用します。
/S 現在のディレクトリとすべてのサブディレクトリから一致する
ファイルを検索します。
/F:ファイル 指定したファイルからファイル一覧を読み取ります (/ を指定する
とコンソール)。
/G:ファイル 指定されたファイルから検索文字列を取得します (/ を指定する
とコンソール)。

正規表現クイック リファレンス:
. ワイルドカード: 任意の文字
* 繰り返し: ゼロ個以上の直前の文字またはクラス
^ 行位置: 行頭
$ 行位置: 行末
[class] 文字クラス: セットの任意の 1 文字
[^class] 逆クラス: セット以外の任意の 1 文字
[x-y] 範囲: 指定した範囲の任意の文字
\x エスケープ: メタ文字 x のリテラル使用
\<xyz 単語位置: 単語の先頭
xyz\> 単語位置: 単語の終わり

sample:
C:\WINDOWS\SYSTEM32>findstr 表 t.txt


 (十分日本語に対応していないのかもしれない)

C:\WINDOWS\SYSTEM32>findstr /R ".." t.txt

表表
十十十

 愛

 「表」も「愛」も2文字と認識されているみたい。
 「*」がうまく機能しなかったのも、このせいだ、きっと。
 とても使い勝手が悪そうだ、とは言えるでしょう。

結論:これでよくは、ない。



    - No.11711 -   [コメント元:11708]    [リストへもどる]
pre

11710Re^3: konnoさん、掲示板? 投稿者:としき   2024/11/25(月) 00:34
参照先:http://toshiki.la.coocan.jp/
  11705 番 konno さんへのコメント    コメント数 1

> mode=msgviewのときだけ表示が変なのですね。

行頭の半角「1」が欠落する、というのはmode=msgviewのときだけですね。
ただ、今、いろいろと見て回っていたら、konnoさん、ちょうど手を入れている最中
なのかな。mode=allreadのツリー表示が微妙に崩れているところがある。
なんかまた、デグレが発生したかな。

    - No.11710 -   [コメント元:11705]    [リストへもどる]
soft

11709Re: grep.com from TC 1.5 and 2.01 投稿者:としき   2024/11/25(月) 00:27
参照先:http://toshiki.la.coocan.jp/
  11706 番 文太 さんへのコメント

> konnoさん、TurboC 2.01
> 1989/05/11 02:01 7,029 GREP.COM --- 一緒、タイムスタンプ異

> 文太、TurboC 2.01
> 1989/05/11 11:01 7,029 GREP.COM --- 一緒、タイムスタンプ異

かっきり9時間ですからねぇ。
どこかでタイムスタンプを狂わせる圧縮/解凍ツールを使った可能性が高そうな
結果ですね。

    - No.11709 -   [コメント元:11706]    [リストへもどる]
pre

1170832bit Grep (Japanese) 投稿者:文太   2024/11/25(月) 00:04
  11707 番 文太 さんへのコメント    コメント数 3

 32ビットの日本語対応グレップ、だと思う。awk-like な拡張正規表現が
使える模様。

www.vector.co.jp/soft/winnt/util/se365621.html

 Win11で、動くことだけ確認しました。もともとgrep.exeというファイル名
だったのですが、これではちょっと使いづらいので、作者の名前から、
popogrep.exeとリネームしました。
 あまり使う予定はないものですから。

C:\WK\POPOGREP>popogrep
Parameter error
Usage :
grep [option] string file

[option]
-i : 比較中に大文字と小文字を区別しない
-c : パターンを含む行の数だけを表示する
-n : 各行の先頭に、ファイルにおけるその行の行番号を出力しない
-v : パターンを含む行を除いたすべての行を出力する
-p : 結果出力時にファイルのパスを表示しない
-f : 結果出力時にファイルのパスをフルパス表示する(デフォルトは相対パス表示)
-r : サブディレクトリも再起的に検索する 【あるじゃん!】

string : Grep対象文字列
正規表現可
ex)
grep .+[abc]+ file

file : ファイル名
ワイルドカード可
ex)
grep abc *.txt

C:\WK\POPOGREP>type t.txt




C:\WK\POPOGREP>popogrep "表" t.txt
popogrep.txt(17): と入力するとテキストファイルから"ABCDEFG"を含む行を全て抽出して画面に表示
popogrep.txt(26): 2.正規表現を使用することもできます。
popogrep.txt(32): 正規表現については、別途参考書等を参照してください。
popogrep.txt(39): -c : パターンを含む行の数だけを表示する
popogrep.txt(42): -p : 結果出力時にファイルのパスを表示しない
popogrep.txt(43): -f : 結果出力時にファイルのパスをフルパス表示する(デフォルトは相対パス表示)
popogrep.txt(76): 起動時に何らかのエラーが表示される場合には、
t.txt(1): 表十

C:\WK\POPOGREP>popogrep 表 t.txt
popogrep.txt(17): と入力するとテキストファイルから"ABCDEFG"を含む行を全て抽出して画面に表示
popogrep.txt(26): 2.正規表現を使用することもできます。
popogrep.txt(32): 正規表現については、別途参考書等を参照してください。
popogrep.txt(39): -c : パターンを含む行の数だけを表示する
popogrep.txt(42): -p : 結果出力時にファイルのパスを表示しない
popogrep.txt(43): -f : 結果出力時にファイルのパスをフルパス表示する(デフォルトは相対パス表示)
popogrep.txt(76): 起動時に何らかのエラーが表示される場合には、
t.txt(1): 表十

C:\WK\POPOGREP>popogrep 愛 t.txt
t.txt(3): 愛

 ま、バグってはいます。
 たぶん、

C:\WK\POPOGREP>popogrep 表 t.txt


C:\WK\POPOGREP>popogrep 表 *.*

C:\WK\POPOGREP>popogrep 表 *.txt
と解釈されているのでしょう。

 もちろん、かなり意地悪なテストです。こんな結果になるとは思わなかった
のだけど。


    - No.11708 -   [コメント元:11707]    [リストへもどる]
pre

11707GNU grep 2.5.4 (English) 投稿者:文太   2024/11/24(日) 22:51
  11685 番 konno さんへのコメント    コメント数 1


 英語環境だけで使う(僕にはある)、というのなら、使えるのかもしれない。
 たぶん、一般にはお勧めできないのだろうと想像して、どこでどうこれを入手
したかは書きません。

C:\PROGRA~2\GNUWIN32\BIN>grep --version
GNU grep 2.5.4

Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

C:\PROGRA~2\GNUWIN32\BIN>grep
使用法: C:\PROGRA~2\GNUWIN32\BIN\GREP.EXE [オプション]‥‥ 文字列パターン [ファイル]‥‥
詳しくは`C:\PROGRA~2\GNUWIN32\BIN\GREP.EXE --help'を実行してください。

C:\PROGRA~2\GNUWIN32\BIN>type t.txt
表十

C:\PROGRA~2\GNUWIN32\BIN>grep "表" t.txt
C:\PROGRA~2\GNUWIN32\BIN\GREP.EXE: Trailing backslash


    - No.11707 -   [コメント元:11685]    [リストへもどる]
soft

11706grep.com from TC 1.5 and 2.01 投稿者:文太   2024/11/24(日) 21:58
  11702 番 としき さんへのコメント    コメント数 1

 僕はこんなのを見つけました。


C:\TC\TC15>dir grep.com
1988/01/25 01:05 5,930 GREP.COM

C:\TC\TC15>grep
Turbo GREP Version 1.0 Copyright (c) 1987 Borland International
Syntax is: GREP [-rlcnvidzw] searchstring file[s]
GREP ? for help

C:\TC\TC15>grep ?
Turbo GREP Version 1.0 Copyright (c) 1987 Borland International
Syntax is: GREP [-rlcnvidzw] searchstring file[s]

Options are one or more option characters preceeded by "-", and optionally
followed by "+" (turn option on), or "-" (turn it off). The default is "+".
-r* Regular expression search -l File names only
-c match Count only -n Line numbers
-v Non-matching lines only -i Ignore case
-d Search subdirectories -z Verbose
-w Write default options
(Options flagged with a "*" are on by default)

A regular expression is one or more occurrences of: One or more characters
optionally enclosed in quotes. The following symbols are treated specially:

^ start of line $ end of line
. any character \ quote next character

a* match zero or more a's
a+ match one or more a's

[aeiou0-9] match a, e, i, o, u, and 0 thru 9
[^aeiou0-9] match anything but a, e, i, o, u, and 0 thru 9



C:\TC\TC201>dir grep.com
1989/05/11 11:01 7,029 GREP.COM

C:\TC\TC201>grep
Turbo GREP Version 1.2 Copyright (c) 1987, 1988 Borland International
Syntax: GREP [-rlcnvidzuwo] searchstring file[s]
GREP ? for help

C:\TC\TC201>grep ?
Turbo GREP Version 1.2 Copyright (c) 1987, 1988 Borland International
Syntax: GREP [-rlcnvidzuwo] searchstring file[s]

Options are one or more option characters preceeded by "-", and optionally
followed by "+" (turn option on), or "-" (turn it off). The default is "+".
-r+ Regular expression search -l- File names only
-c- match Count only -n- Line numbers
-v- Non-matching lines only -i- Ignore case
-d- Search subdirectories -z- Verbose
-u- Update default options -w- Word search
-o- UNIX output format Default set: [0-9A-Z_]

A regular expression is one or more occurrences of: One or more characters
optionally enclosed in quotes. The following symbols are treated specially:
^ start of line $ end of line
. any character \ quote next character
* match zero or more + match one or more

[aeiou0-9] match a, e, i, o, u, and 0 thru 9
[^aeiou0-9] match anything but a, e, i, o, u, and 0 thru 9


 上は一部フィクションを含みます。C:\TC なんてディレクトリ、この遊びっけ
なしのマシンに存在するわけがありません。遊びマシンは、1年以内くらいに
作ります。
 これら grep.com は、もちろん使ったこと、ありません。使う予定もありません。
 日本語対応ない grep が、日本語環境でどう振る舞うか、とか調べる気はありません。


konnoさん、TurboC 2.01
1989/05/11 02:01 7,029 GREP.COM --- 一緒、タイムスタンプ異

としきさん、TurboC 2.00
1988/12/20 02:00 8,263 GREP.COM

文太、TurboC 1.5
1988/01/25 01:05 5,930 GREP.COM

文太、TurboC 2.01
1989/05/11 11:01 7,029 GREP.COM --- 一緒、タイムスタンプ異

追記:Turbo grep には、ver. 1.0 から、「ディレクトリ再帰」がある!
 -d Search subdirectories


    - No.11706 -   [コメント元:11702]    [リストへもどる]
pre

11705Re^2: konnoさん、掲示板? 投稿者:konno   2024/11/24(日) 18:44
  11699 番 としき さんへのコメント    コメント数 1

#11692
> c:\>dir /s c:\*.exe c:\*.com | find /i "grep" | sort /+36
> 994/10/06 00:00 50,672 DGREP.EXE

この多段パイプ技も目を引きましたが

> 994/10/06 は
> 1994/10/06 ですよね。
>  この掲示板の「あれ」なのでしょうか >konnoさん

この意味がわかりませんでした。

#11699
> あれ、というか「癖」っぽいですね。うん、「ヤマイダレ」のついている漢字だ。
> mode=msgviewのときだけ発病する感じ。
> allreadとかnewsortの時はきちんと欠落なく表示してくれているから。
> そして、行頭が半角「1」は欠落するけど半角「2」なら大丈夫、というのも不思議。
> どうすればこうなるんだろう。

やっとわかりました。
mode=msgviewのときだけ表示が変なのですね。
うちだけなのかな。
確認してみます。


# ヤマイダレハシナナキャナオラナイ富士の山異誰?

    - No.11705 -   [コメント元:11699]    [リストへもどる]
pre

11704Re^2: wgrep -u について 投稿者:konno   2024/11/24(日) 18:00
  11686 番 としき さんへのコメント

> >  wgrep.doc を読んで、なんでできない? に答えを求めました。
> >  考察の結果です。「再帰」ではないです。
> >  一層下だけ、という意味みたいです。wgrep.docからは、そうは読めないと

wgrep は再帰検索に失敗することが有るので、この説明に納得しかけましたが

> それはおかしい。
> 私、PC-98の時代から、該当ディレクトリ下部一括検索をする時はいつもwgrepを
> 使っていました。そして、30年余りの経験で、検索漏れに気がついたことは
> 一度もない。
> そして今、WinXPをひっぱりだしてきてVTDOS122でwgrepを使ってみました。
> 結果、少なくとも3階層くらい下までは引っ張ってきてくれています。

そ、そうなんですか。

> > C:\>wgrep -u "愛愛愛" C:\tk\vzLOG\dc\*.* ;dcフォルダの下の01フォルダに
> > ファイルが読めません ---> C:\TK\VZLOG\DC\*.* ;ヒットすべきファイルがある
>
> うん、実は気がついていない人が多いのですが、こうなる可能性があるパターンと
> いうのがありまして。
> dcフォルダの下の01フォルダにヒットすべきファイルが仮にあったとしても、
> dcフォルダそのものにファイルが1つもない場合、このメッセージが表示されるの
> ですよ。
> その場合、dcフォルダにダミーファイルを1つ作ってやれば、うまくヒットします。
> ファイル名は何でもよろし。dummy.xlsでも何でもOK。

今まで wgrepの再帰検索は不安定だなぁと思っていたのですが、そういうことでしたか。
大変有益な情報をありがとうございます。

    - No.11704 -   [コメント元:11686]    [リストへもどる]
pre

11703Re^5: wgrep -u について 投稿者:としき   2024/11/24(日) 17:33
参照先:http://toshiki.la.coocan.jp/
  11695 番 文太 さんへのコメント

>  うちは当番制なので、今年は奥様がやってきました。

一人暮らしだと、そういうわけには行きません。
ただ、同一市内の実家は母と弟が暮らしていて、母が体調不良だから当然弟がやる
かと思ったら誰も出て行かなかったとのこと。いささかあきれる。

> >私がよくやるのは、*.txt なんてファイル指定なんですが、
>  abc??.txt という指定では、いつもできてるのに、今日は「*.txt」で
> エラーが出るぞ、という経験があれば、論理的に考えますね。さすが。

私の解釈の問題というか誤解しているのかもしれません。
私の経験では、別のディレクトリだと abc??.txt という指定でも *.txt でも行ける
のに、特定のディレクトリでは同じ指定なのにうまく行かない、なにが違う、という
ところが出発点。そして、あ、このディレクトリはファイル豊富なのに拡張子が txt
のファイルは一つもない、という気付きから数回の実験をおこなって、というような
感じですね。だからこの辺、論理的には考えますが、少なくとも1回は実験を行って、
自分の考えを確かめないと。
何せ、一番信用できないのが自分の考えというやつですから。

    - No.11703 -   [コメント元:11695]    [リストへもどる]
soft

11702Re^7: ren grep fgrep 投稿者:としき   2024/11/24(日) 17:23
参照先:http://toshiki.la.coocan.jp/
  11687 番 としき さんへのコメント    コメント数 1

> >  C:\TC のディレクトリ
> > 1989/05/11 02:01 7,029 GREP.COM
>
> うぉ、これも懐かしいですね。TurboC 2.01だ。
> 実家に行けば、今でも残っているかも。

珍しくフットワーク軽く、実家に行ってきました。タッチアンドゴー。
結果。
実家にあったのはTurboC 2.00。

1988/12/20 02:00 8,263 GREP.COM

こんなものあったんだ。たぶん、使った事はない。

    - No.11702 -   [コメント元:11687]    [リストへもどる]
pre

11701Re^5: wgrep -u について 投稿者:文太   2024/11/24(日) 12:39
  11700 番 としき さんへのコメント

としきさん

>#いいじゃねぇか、そんなこまけぇこと
 でもないですよ。

 いつの日にか、この「wgrep -u について」のやり取りをグレップで
発見し、おお、先人の方、としきさん、感謝、m(__)m となるかもしれない。

>ファイル検索の起点にさえ対象のファイルがありさえすれば、
 なるほど。試さないけど、途中に空が挟まっていてもいいんだ。
 違いは大きいと思います。
 が、wgrep -u を使うことは、しばらくないと思うので、
僕にとっては、いいじゃん、なんだけど。
 m(__)m

 いい天気ですねぇ。気分が完全に天気に左右されるお年頃になってます。


    - No.11701 -   [コメント元:11700]    [リストへもどる]
soft

11700Re^4: wgrep -u について 投稿者:としき   2024/11/24(日) 11:04
参照先:http://toshiki.la.coocan.jp/
  11691 番 文太 さんへのコメント    コメント数 1

>  でも、ファイルがないディレクトリだけの階層は挟むな、これで
> OKです。

いってることは伝わるかもしれませんが、としき的には微妙に不正確。
カレントに .txt のファイルがあれば、以下の階層に一つも .txt がなくても
wgrepはこけません。すなわち、ファイル検索の起点にさえ対象のファイルが
ありさえすれば、以下のディレクトリにはファイルがない階層が挟まって
いても問題ない、というのがとしき的な表現です。
#いいじゃねぇか、そんなこまけぇこと

    - No.11700 -   [コメント元:11691]    [リストへもどる]
soft

11699Re: konnoさん、掲示板? 投稿者:としき   2024/11/24(日) 10:40
参照先:http://toshiki.la.coocan.jp/
  11692 番 文太 さんへのコメント    コメント数 1

>  この掲示板の「あれ」なのでしょうか >konnoさん

あれ、というか「癖」っぽいですね。うん、「ヤマイダレ」のついている漢字だ。
mode=msgviewのときだけ発病する感じ。
allreadとかnewsortの時はきちんと欠落なく表示してくれているから。
そして、行頭が半角「1」は欠落するけど半角「2」なら大丈夫、というのも不思議。
どうすればこうなるんだろう。

    - No.11699 -   [コメント元:11692]    [リストへもどる]
soft

11698Re^2: おち 投稿者:文太   2024/11/24(日) 10:36
  11685 番 konno さんへのコメント

konnoさん

 なんだか、すごい怒涛になってしまいました。
 すみませね。

>このDLLは ZIPの中には無いですね。私は多分 SETUP.EXE から
>落としたのでしょう。

 なるほど。そういうパッケージの仕方、みたことあります。
 いつか探すかも、、、。

>WILD は GREP で使うにはあまり向いていないと思うので、別の機会に。

 はい、まったくその通りだと思います。ygrep.exeで足りると思います。


    - No.11698 -   [コメント元:11685]    [リストへもどる]
soft

11697find, findstr, replace, sort /+36 投稿者:文太   2024/11/24(日) 10:18
  11694 番 としき さんへのコメント

としきさん

>正規表現を使わない時はOS純正のfindを使うことが多い

 find, findstr, replace そのうち調べておきましょう。
 あのパイプ技は、笑った。| sort /+36 は、僕には出なかった。ssortを
別プロセスで使っていたでしょう。

>私の場合、ASCII toolsが最初だけど、次はwgrepでした。

 僕のVz(wgrep)との付き合いは遅いんです。「松」と「エコロジー」
の時代が長く、そして日野図書館でみつけたディスクつきのPC本。

>速いと評判だったのはizgrepですか。

 ま、時間差は、じつは大したものでもないでしょう。VTDOS環境のXXさ
にも、もうすっかり慣れてるし(というほど、PC自体を使ってない)。
 先日ちらと izgrep.doc を読んだら、「出力が大きいと差が感じられない
かもしれない」とありました。結果のプリントは膨大な時間がかかるみたい。
これで検索自体の差が帳消しになる、とか。


    - No.11697 -   [コメント元:11694]    [リストへもどる]
soft

11696Re^2: wgrep -u について 投稿者:文太   2024/11/24(日) 10:06
  11686 番 としき さんへのコメント

としきさん

> VTDOS|D:\TOSHIKI\NIF>type C:\FREEWARE\DOS\WGREP.CFG
> -i -j15 -s7 -u -h3 -t ~~~
~~ 
 そうそう、これです。PK/DC ログを、ygrepの「発言アーティクル」
単位検索で、"wgrep:再帰" のアンド検索をしたら、唯一出てきたのが
この部分への言及。「環境変数で設定してます」by としき、でした。

    - No.11696 -   [コメント元:11686]    [リストへもどる]
pre

11695Re^4: wgrep -u について 投稿者:文太   2024/11/24(日) 09:58
  11693 番 としき さんへのコメント    コメント数 1

としきさん

>朝起きたら市内一斉清掃に参加しなければならぬ。

 おはようございます。そして、お疲れ様でした。近所がきれいに
なりましたよね。
 うちは当番制なので、今年は奥様がやってきました。

>> でも、なんでこんなこと知ってるの?
>経験者だから。
 なるほど。

>私がよくやるのは、*.txt なんてファイル指定なんですが、
 abc??.txt という指定では、いつもできてるのに、今日は「*.txt」で
エラーが出るぞ、という経験があれば、論理的に考えますね。さすが。
経験は強し。

>今回の文太さんの例だと、ファイル指定が *.* となっていたから、
 ビンゴ! ディレクトリのみ14個でした。論理的、ふたたび。

C:\TK\VZLOG\DC>dir

2024/11/24 00:48 <DIR> .
2024/11/24 00:54 <DIR> ..
2024/11/23 19:12 <DIR> 01
2023/06/02 20:17 <DIR> 02
2023/06/02 20:17 <DIR> 04
2023/06/02 20:17 <DIR> 06
2023/06/02 20:17 <DIR> 13
2023/06/02 20:17 <DIR> 14
2024/11/23 15:53 <DIR> 15
2023/06/02 20:16 <DIR> 17
2023/06/02 20:16 <DIR> 18
2023/06/02 20:16 <DIR> 19
2023/06/02 20:16 <DIR> 20
2023/06/02 20:17 <DIR> ct

 FGALDC 1階から20階まで。じつは、としきさんの
アドバイスで、aaa.txt 0 byte が、今まで入ってました。消したけど。
ygrep.exeにそんな制限ないもん。


    - No.11695 -   [コメント元:11693]    [リストへもどる]
pre

11694Re^3: 文太のグレップ(複数)ほか 投稿者:としき   2024/11/24(日) 02:35
参照先:http://toshiki.la.coocan.jp/
  11690 番 文太 さんへのコメント    コメント数 1

>  気持ちは分かりますが、正規表現に対応していたら、fgrep ではないような。

あぁ、そうか、そうですよね。そういわれてみれば確かにそうかも。
とりあえず私、正規表現を使わない時はOS純正のfindを使うことが多いもので
ついついあんな発言をしてしまいます。
といいつつ、最近のWindowsにはOS純正でfindstrなんてコマンドもあったりする
から侮れない。いつからあるんだろう。WinNT4には既にあったりして。少なくとも
WinXPには存在している。

> >WGREPはなぜ文太さんが使っていないのか、不思議。
>  最初に、jgrep (日本語対応) とか、cgrep, ygrep, izgrep に出会ったから

なるほど。
速くて多機能なものに最初のころに出会えば、そうなりますよね。
私の場合、ASCII toolsが最初だけど、次はwgrepでした。
アーカイブの中の検索なんて機能はほとんど使ったことがないけど、再帰検索と
各種文字の同一視ができるというのは非常にありがたかった。

速いと評判だったのはizgrepですか。
たぶんこれだと思うのですが、速いと評判だったgrepを評価して、当時のニフティの
数百メガバイトのログファイルを検索してみたけど、検索条件が悪かったのか、
wgrepと大差なかったので使わなかった、ということがあったのは覚えている。
具体的な数字なんか当然覚えていませんが、1分半ぐらいのところで10秒ぐらいの
差だったような。とにかく、全ログ舐めてこの程度の差なら、わざわざ手になじんだ
ものから乗り換えるほどの事はないや、と考えるのに十分な程度の差でした。

    - No.11694 -   [コメント元:11690]    [リストへもどる]
soft

11693Re^3: wgrep -u について 投稿者:としき   2024/11/24(日) 02:16
参照先:http://toshiki.la.coocan.jp/
  11688 番 文太 さんへのコメント    コメント数 1

朝起きたら市内一斉清掃に参加しなければならぬ。
こんな時間までネットに首を突っ込んでいる暇はないはず。というのは建前。
とりあえず一つだけ。

> >その場合、dcフォルダにダミーファイルを1つ作ってやれば、うまくヒットします。
> >ファイル名は何でもよろし。dummy.xlsでも何でもOK。

>  でも、なんでこんなこと知ってるの? ある種の論理的思考でこうなるはず、
> とかあるんですか?

経験者だから。
いや、実はですねぇ。
私がよくやるのは、*.txt なんてファイル指定なんですが、この場合だと、拡張子が
txt のファイルが一つもないと、他にいくつファイルがあっても、例の読み込めない
というメッセージが出てしまうのですよ。
今回の文太さんの例だと、ファイル指定が *.* となっていたから、ではファイルが
1つもなかったんだろうな、と推測した次第。

そんだけ。

    - No.11693 -   [コメント元:11688]    [リストへもどる]
soft

11692konnoさん、掲示板? 投稿者:文太   2024/11/24(日) 01:03
  11684 番 としき さんへのコメント    コメント数 1


c:\>dir /s c:\*.exe c:\*.com | find /i "grep" | sort /+36
994/10/06 00:00 50,672 DGREP.EXE

 あはははは。楽しい。でも、その話でなく、

994/10/06 は
1994/10/06 ですよね。

 この掲示板の「あれ」なのでしょうか >konnoさん

    - No.11692 -   [コメント元:11684]    [リストへもどる]
pre

11691Re^3: wgrep -u について 投稿者:文太   2024/11/24(日) 00:59
  11688 番 文太 さんへのコメント    コメント数 1

 以下をどう読むかは難しそう。たしかに普通のディレクトリ構成なら
3階層ぐらいはいけそう。僕の環境では、dcが起点だと、まともなのは
1階層ですけれど。

C:\TK\VZLOG>wgrep -u "愛愛愛" C:\tk\*.*
メモリが不足しています

C:\TK\VZLOG>wgrep -u "愛愛愛" C:\tk\vzlog\*.*
------------------ C:\TK\VZLOG\DC\01\T.TXT
愛愛愛愛愛
メモリが不足しています ;たぶん運よくヒットできた

C:\TK\VZLOG>wgrep -u "愛愛愛" C:\tk\vzlog\dc\*.*
------------------ C:\TK\VZLOG\DC\01\T.TXT
愛愛愛愛愛

 でも、ファイルがないディレクトリだけの階層は挟むな、これで
OKです。
 としきさんに多謝。すげえな、やっぱり。年季がちがう。
 だって、あれだけの連投を読み込んだうえでの、これだよ。
 ほんと、ありがと。


    - No.11691 -   [コメント元:11688]    [リストへもどる]
pre

11690Re^2: 文太のグレップ(複数)ほか 投稿者:文太   2024/11/24(日) 00:47
  11684 番 としき さんへのコメント    コメント数 1

としきさん

>FGREPは ASCII tools の名ばかりgrep。なぜ名ばかりかというと、
>正規表現に対応していないから。

 気持ちは分かりますが、正規表現に対応していたら、fgrep ではないような。
 grep (Global Regex Print)ではあるけれど、正規表現を殺してほしい場面は
とりわけプログラマーにはあるのでしょう。もちろん、たいていオプションで
殺せるとは思うけど。>grep -F より、>fgrep のほうが、頭脳的にも楽です。

>WGREPはなぜ文太さんが使っていないのか、不思議。

 最初に、jgrep (日本語対応) とか、cgrep, ygrep, izgrep に出会ったから
でしょう。アーカイブをグレップというのは、最初のHDが120MBだった
僕には、必要ある? だったのでしょう。diet も使ったことないし。

>余談ですが、IZGREPとYGREPも、ドキュメントは読んだ記憶があるような。
>そして、他のGREPにはなくてこれらのGREPにある機能で私が必要とするものがないので
>導入しなかった、ようなうろ覚えの記憶。

 ygrepが画期的だったのは、niftyログをアーティクル単位で抽出できたから。
 そして、ygear.def by とらじがあったから。あのマクロのインターフェイスは、
僕的には最高です。ツールのシェルとしてのマクロの鏡です。
 ygrep は、ソースがけっきょく公開されませんでした。
 これに立腹していた Bruce.さんは、あれを yagrep 命名したのです。でも、
本人が使わないツールは、やっぱり、、、。yagrep.exe が僕に残した
メッセージは、「なんでygrepのソースは公開されなかったんだよ」でした。
TSで色々あったのでしょう。

 izgrepは、速さと、doc の誠実さ、作者の姿勢。そして、sed の機能を
一部もっている、でしょうか。始めて接したときに感動しました。
 sed は、sed で、もうその機能をizgrepで使うことはありませんが。
 DOS時代のgrepの進化としては、sed の機能を一部内包したgrepというのが
あったのではないでしょうか。

    - No.11690 -   [コメント元:11684]    [リストへもどる]
soft

11689TCと、時間差 投稿者:文太   2024/11/24(日) 00:20
  11687 番 としき さんへのコメント

konnoさん、としきさん

>うぉ、これも懐かしいですね。TurboC 2.01だ。
 TCって? と思ってました。
 やっぱり、TurboC なのか。あれ? konnoさん、Cにも興味があった
のですね。興味ぐらいは、かつて持ってましたよん、でしょうか。


    - No.11689 -   [コメント元:11687]    [リストへもどる]
soft