■アプリケーション名	
	reGrep(リグレップ）
	
■バージョン(リリース日）
	ver 1.0（2026/7/27)
	
■配布内容物
	reGrep.exe	←アプリ本体
	説明.txt 	（このファイル）
	manual.html ←マニュアル
	
■利用環境
	Windows11

■取り扱い種別
	フリーソフト

■アプリケーションの概要と特徴
	ファイル検索やgrepを効率的に行うツール

	・よく使う対象の情報を初回にDB化することで、ファイル検索やgrepを効率化
	・grep結果ファイルに再度grepすることが可能（絞り込みgrep）
	・結果のListViewからダイレクトに指定エディタ起動
	・filelist作成ツールとしても利用できます
	・エクセルとワードのファイルも一応内容検索できます
	
■インストール方法
	（レジストリなどは一切変更しません）
	ダウンロードしたzipを任意のディレクトリに解凍

	初回の実行時に、アプリと同一階層上に
		regrep.db　			←アプリで利用するSQLiteのDB
		preference.json		←アプリの設定情報
	を自動で作成します

■アンインストール方法
	アプリケーションを格納しているフォルダを削除
	必要に応じて、DBファイルも削除

■どんな人向けツールか
	・決まった場所に調査目的のgrepの頻度が多い人
	・コマンドラインとかに慣れていないけどgrepはつかいたい人
	・grep結果から、たくさんのソースを目視でざっと眺めることが多い人
	・Windows標準のファイル検索機能に、イラっとすることが多い人


■基本的な仕組み
	・指定されたディレクトリのFilelistをDBとして作成します。FileList作成段階で、
		拡張子の指定・除外や、パスマッチなどいくつかの条件設定が可能です。
	・Filelist作成段階で、テキストコンテントもDBにインポートできます（キャッシュ化）。
	・grepをFileListに対して行います。キャッシュ(DBインポートに済みデータ)を利用するか
		オリジナルファイルを読みに行くかの設定ができます。
	・既存のgrep結果に対して、絞り込みのgrepを繰り返すことが可能です。
	・FileListとgrep結果は、ListViewで表示され、コンテキストメニューやキー操作でエディタ起動、
		ファイルの場所を開くなどの操作設定が可能です。
	・FileListとgrep結果は、CSVにエクスポート可能。
	・利用しているSQLiteのDBを任意場所に保存、また任意場所のDBをロードすることが可能です。
		同一ディレクトリに対してgrep頻度が高い場合、既存DB利用することで初動の効率が上がります。
		
■使い方
	同封のmanual.html参照

■補足
	・古いワードファイル（拡張子.doc）については、場合によってgrepがヒットしない可能性があります
	・grepの際にはまず何を対象にgrepするか「grep対象」プルダウンから選択してください。
	・「grep対象」プルダウンには、FIleListの他に、既存grep結果も対象として表示されます（絞り込みgrep）。
	・「grep対象」プルダウンでは絞り込みgrepは階層化（親-子-孫・・）されて表示されます。
	・grep結果は下のListViewにタブで追加されます。個別にgrep結果を削除したい場合、
		タブを右クリックして表示されるコンテキストメニューから削除可能です。
	・grep結果を削除する場合、その結果に子・孫がある場合は連動して削除されます
	・grep結果のListViewのデータ行のコンテキストメニュー、エンターキー、ダブルクリックで
		外部エディタ起動やフォルダーオープンなど設定が可能です。
	・外部エディタが、「起動時の指定行/指定箇所へのジャンプ機能」を持っている場合、起動オプションに
		パラメータ指定でプレースホルダ指定することで、オープンと同時に指定箇所へのジャンプ表示ができます。
	　例：
	　テキストエディタ
	　　　サクラエディタ	→ -Y={line}
	　　　VScode			→ -g {file}:{line}
	　　　notepad++			→ -n{line}
	　バイナリエディタ
	　　　010 editor 		→ -goto:{offset}
	・エクセル・ワードについては、発見箇所へのジャンプはしません。

■注意点
	※ツールのコンセプト上、頻繁に内容が更新されるようなディレクトリでの利用には注意が必要です
	※このツールは置換機能は持ってません
	※初回FileList作成はそれなりに時間がかかります
	※「テキスト判定の場合インポート」を選択する場合、DBサイズが大きくなる点は注意が必要です
	※一般的な注意点として、検索で正規表現を利用する場合、指定内容によっては非常に時間がかかる可能性があります

■開発環境・言語
	[利用言語]pyton,PySide6,SQLite
	[exe化]PyInstaller

■ひとこと
	大量のファイルをgrepするような場合、対象がローカル外のサーバだったりするとgrep自体より、
	I/Oやトラフィックがオーバーヘッドとなり非常に時間がかかったりします。
	仕事上、ネットワークで接続されたリポジトリサーバ上の資源を頻繁にgrepする必要があり、
	都度ストレスに感じてました。
	また作業内容上、「目的にマッチする検索語を探りながら何度かgrepを繰り返す」
	「grepした結果のファイルに対してさらにgrepする」ようなケースも多く、
	エディタやコンソールでの操作だと、明確な検索ターゲット意識を維持するのが大変だったりします。

	ファイル検索はWindowsファイル検索が一般的ですが、ネットワークディレクトリでの反応が悪い、
	インデックスがないから見つからない、あるいはインデックス状態がわからない、
	厳密なヒットが得られない、結果をストアできない（検索結果ウィンドウからうっかり移動して、
	せっかく長時間かけた検索結果が一瞬でパーになる）など、こちらも作業上ストレスを感じていました。

	そこで、ファイルの新鮮さをある程度犠牲することを前提で、作業の効率を上げるため、
	Access＋VBAでファイルのリスト、コンテントをあらかじめDB化し、
	DB内でgrep的な検索ができるようなツールを自前で作って利用してました。
	最近は標準導入されるPCにOfficeにAccessが入ってなかったりしますし、python+SQLiteの方が
	よさげに感じたので、作り直しました。
	
■変更履歴
	
	2026/7/27	Ver1.0　リリース
	・初版リリース
			
		
■作者連絡
	y-odaira@ja2.so-net.ne.jp

■免責
	本ソフトに、たとえバグ（プログラムに不具合）があっても作者はその
	修正の責任も、義務も持ちません。また、フリーソフトウェアという性質上、
	使用により発生したいかなる損害に対しても、作者は一切の責任を持ちませ
	ん。利用者は、このソフトの使用によって発生する全ての事態を想定し、
	各自の責任にてご使用ください。
