|
こんな経験をしたことがあります。
1. 沢山のファイルを検査対象にします。
たとえば、C:\Program Files\Microsoft Platform SDK\Include\*.h
2. そこそこの数がヒットする文字列で grep します。
たとえば、FACILITY
3. grep 中、処理中として [grep "FACILITY" ...] というタイトルの
ウィンドウがでてきて検索が開始されます。
4. grep の処理中に、このウィンドウで 160 を検索します。
5. grep が完了する。
という時に、私の意図は FACILITY の検索結果から、160 を
含むものだけを再抽出するのに近いものを望んでいるのですが、
この作業手順だと、3. から 4. の間に処理されたファイルは
"FACILITY" を検索した結果なんですが、4. から 5. の間に処理
されたファイルは "160" を検査した結果になってしまっています。
v3.05 で確実な再現性があります。
--grep 結果ウィンドウの一部
adoint.h(573): adErrSchemaViolation= MAKE_HRESULT(SEVERITY_ERROR, FACILI
TY_CONTROL, 0xe8a),
adoint.h(574): adErrSignMismatch= MAKE_HRESULT(SEVERITY_ERROR, FACILITY_
CONTROL, 0xe8b),
adojet.h(1355): class DECLSPEC_UUID("DE88C160-FF2C-11D1-BB6F-00C04FAE22DA")
asptlb.h(3734): DEFINE_GUID(CLSID_Server,0xA506D160,0x25E0,0x11D0,0xA5,0x5F,
0x00,0xA0,0xC9,0x0C,0x20,0x91);
--grep 結果ウィンドウの一部 ココマデ
上2行(およびそれ以前)は FACILITY での grep が進んでいる途中ですが、
4. の操作が入ったため、下2行以降は FACILITY ではなく 160 を含む行が
表示されていってます。
|
|