トップページへ

SJファイル日記検索

Access Count : 981

 ダウンロードのリンクは、一番下のセクションの前の方配置してあります。
 ソースプログラムへのリンクも配置してあります。

 Update : 2020.01.27.mon.

ご使用上のご注意


 悪意のあるコードはプログラムしていませんが、本プログラムのご利用によって生じた結果について、一切責任を負いません。
 ご了承ください。
 ご了承の上、本プログラムをご利用ください。

<注意>
 対応OSは、Windows 10です。

 また、本プログラムの結果ファイル名は、検索対象フォルダー内に、Tfzkbp1sfSELECT*.TXTとTfzkbp1sfRVS*.TXTという名前で作成されます。
 検索対象フォルダーに指定したフォルダー内のTfzkbp1sfSELECT*.TXTとTfzkbp1sfRVS*.TXTは、毎回、*部分の数字が差し換わって、次々増設されてゆきます。
 適宜、不要になったら結果ファイルを削除するなどしてください。

 本プログラムが正常に動作するためには、検索対象フォルダー内の、TXTか.txtか.JKNか.jknのファイルが、ShiftJIS・ANSI、のコード体系で保存されている必要があります。
 UTF8など、ほかのコード体系の.TXTか.txtか.JKNか.jknのファイルに本プログラムがアクセスすると、本プログラムは異常終了します。
 なお、UTF8のコード体系のファイルには、TUnKensaku6プログラムを使用してください。

本プログラムのご説明


<説明>
 下記は、検索結果ファイルの例です。
*** 下記は、 c:\ansiNikki\nikki500.txtからの抽出です。******

1 -- 6 in <c:\ansiNikki\nikki500.txt>
@2004.02.12.
1
未明に、思考の展開、についての文章を1本アップロードした。
午後10時半頃にも、もう1本アップロードした。




 上記の例において、抽出文章は、
未明に、思考の展開、についての文章を1本アップロードした。
午後10時半頃にも、もう1本アップロードした。




です。
 抽出文章の3行手前には、検索対象ファイル中の行番号と、検索対象ファイルの名前を表示します。
 それが、
1 -- 6 in <c:\ansiNikki\nikki500.txt>
です。
 検索対象ファイル中の検出した文章の行番号は、抽出文章の先頭行番号 -- 抽出文章の末尾行番号、という形式で表示します。
 検索対象ファイル名の表示は、in <検索対象ファイル名>、という形式で表示します。
 以上の2項目を1行で表示します。

 文章の先頭とは、ファイルの先頭か、所定数以上の連続改行文字の次の位置です。
 本プログラムでは、文章の先頭行の行頭から始まる4桁の半角数字、半角ピリオド、そして、2桁の半角数字、半角ピリオド、また2桁の半角数字、半角ピリオド、で始まっている行を、日付とみなします。
 次の日付行が検出されるまでは、どの文章も、直前の日付の文章として扱われます。
 抽出文章に直近の、この日付、と思われる文字列を含む行を、@の次に配置して、抽出文章の2行手前に置きます。
 それが、
@2004.02.12.
です。
 さらに、抽出文章の直前には、検索対象ファイル内における抽出件数番号を置きます。
 それが、
1
です。

 本プログラムは、以上の3行を、各抽出文章ごとにその直前の3行に付記します。

 この例の場合、検索対象ファイルとして想定されるものは、下記のようなものになります。
2004.02.12.
 きょうは、午前8時に起床した。





未明に、思考の展開、についての文章を1本アップロードした。
午後10時半頃にも、もう1本アップロードした。




 以上の内容のファイルが、cドライブのansiNikkiフォルダー内にnikki500.txtとして存在していると、上述した結果ファイルが得られます。
コマンドプロンプトから、
TTnKensaku4 4 shikou.jkn +++ c:\ansiNikki
とタイプ入力して、リターンキーを押した場合に。
 この例では、コマンドプロンプトからタイプ入力したプログラム名や検索条件ファイル名のパスが省略されています。
 その場合、コマンドプロンプトのカレントフォルダーがパスとして使用されます。
 ですから、コマンドプロンプトの、プロンプトの表示が・カレントフォルダーの表示が、C:\Users\Takehana>となっていたら、上記の例の場合、C:\Users\Takehana\TTnKensaku4.exeやC:\Users\Takehana\shikoou.jknを指定したことになります。  またこの場合の、検索条件ファイルshikou.jknの例は、
思考
考察
+++
文章
書面
+++
アップロード
です。
 そして、この検索条件ファイルも、検索対象ファイルも、ShiftJIS・ANSI、のコード体系で、保存されていることが必要です。
 UTF8コード体系で、保存されている場合には、本プログラムではなく、TUnKensaku6がご利用いただけます。

 本プログラムで、日記検索が行われる対象のテキストファイルは、まず、ShiftJIS・ANSI、のコード体系で保存されていること。
 そして、文章の先頭行に4桁の半角数字、半角ピリオド、そして、2桁の半角数字、半角ピリオド、また2桁の半角数字、半角ピリオド、で始まっている行、つまり、日付行が存在すること。
 そして、抽出対象となる1件1件の文章は、連続改行文字で隔てられていること。
 以上が必要です。
 ただし、日付行が存在しなくても、指定した個数の連続改行文字で隔てられた文章ごとに、複合条件で全文検索は行われます。しかし、抽出文章の2行上の@の次からに、日付情報が置かれなくなります。
 日付行が存在していれば、抽出文章の手前側の直近の日付行の情報が、@の次からに出力されます。
 なお、本プログラムは、結果ファイルは、検索対象ファイルとしては取り扱いません。
 結果ファイルが増設されても、結果ファイルが存在する前のテキストファイル(※ファイルタイプ、.TXTか.txtのファイル)だけを対象にして、複合条件で全文検索を行います。
 なお、検索対象フォルダー内に存在するフォルダーは検索対象外です。

<ご使用方法>


<ご使用方法>
 本プログラムTTnKensaku4は、コマンドプロンプトを起動して、実行します。
 コマンドプロンプトに、chcp 932を入力して、コードページをShiftJISに設定します。
 使用するテキストファイルのコード体系は、ShiftJIS・ANSI、でなければ、このプログラムは正常に動作しません。

 検索対象ファイルや検索条件ファイルは、ShiftJIS・ANSI、のコード体系で保存してください。

 コマンドプロンプトから、TTnKensaku4 セパレータカウント 検索条件ファイル名 セパレータ 検索対象フォルダー名、を入力してご利用ください。
 つまり例えば、
TTnKensaku4 4 ansijoukenfile.jkn +++ c:\ansitextfolder
のようにタイプ入力してリターンキーを押してください。
 セパレートカウントは、検索対象ファイルの中の文章と文章を、改行文字連続何個で区切っているか。
 その改行文字の連続個数、を指定する数字です。上の例では4を使用しました。
 検索条件ファイル名は、全文検索の複合条件を登録したファイル名です。
 上の例では、検索条件文字列が登録されているファイルを、ansijoukenfile.jknとしました。
 セパレータは、検索条件ファイル内で、検索条件文字列のブロック同士を区別する文字列です。
 ブロック内の文字列同士は論理和で検索されます。別のブロック同士は、論理積で検索されます。
 つまり、思考か考えか見解が含まれていて、なおかつ、アップロードか公開、が含まれている文章を抽出したい時には、
思考
考え
見解
+++
アップロード
公開
という風に、検索条件ファイルに登録します。
 この場合、ブロックとブロックを隔てている+++がセパレータです。
 なお、このファイルも、ANSI・ShiftJISのコード体系で作成してある必要があります。
 検索対象フォルダー名は、検索対象とするANSI・ShiftJIS、のコード体系の、.txtか.TXTであるファイルが格納されているフォルダーの名前です。
 それらを、プログラム名に続けて、
TTnKensaku4 4 ansijoukenfile.jkn +++ c:\ansitextfolder
と、コマンドプロンプトでタイプ入力して、リターンキーを押すと、日記検索が始まります。

ABCかDEFGかHIを含んでいて、なおかつ、JKLかMNOを含んでいて、なおかつ、PQRかSTUかVWXかYZを含んでいる文章を検索したいなら、
検索条件ファイルに、
ABC
DEFG
HI
+++
JKL
MNO
+++
PQR
STU
VWX
YZ
と登録してください。
 ここで、+++は、検索条件ファイル内のセパレータです。
 セパレータには、特殊文字を使用することはできません。
 セパレータは、検索条件ファイル内のセパレータです。
検索条件ファイルの登録の際に使用したセパレータをタイプしてください。
したがって、上記の例では、+++をセパレータとしてタイプしてください。
 検索対象フォルダー名は、複合条件で全文検索を実施する対象フォルダーの名前です。
 検索対象フォルダー内の、.TXTか.txtのファイルだけを対象にして、先に登録した検索条件ファイル内の複合条件にて、全文検索を実施します。
 ただし、検索対象フォルダー名ではなく、テキストファイル名を指定した場合には、指定したテキストファイルに対して複合条件全文検索を実施します。

 プログラム名に続けて、以上、4項目を、コマンドプロンプトから入力してください。
TTnKensaku4 セパレータカウント 検索条件ファイル名 セパレータ 検索対象フォルダー名
 とタイプ入力して、リターンキーを押すと、複合条件全文検索プログラムが実行されます。
 実行結果が、出力ファイルに得られます。
 ちなみに、出力ファイル名は、複合条件全文検索の結果、条件を満たした文章を抜き出して登録したファイルTfzkbp1sfSELECT*.TXTと条件を満たさなかった文章を登録したファイルTfzkbp1sfRVS*.TXTです。
 *には、数字、ハイフン、ピリオド交じりの文字列がファイル名の一部として位置します。

 繰り返しますが、TTnKensaku4は、指定した1つのフォルダー内の、.TXT か .txt のファイルだけを検索対象ファイルにして、複合条件で全文検索を実施するプログラムです。
 ただし、TTnKensaku4の4番目の最後の引数に、フォルダー名ではなく、ファイル名まで入力すると、その1ファイルだけを検索対象ファイルにして、複合条件で全文検索が実施できます。

<ご使用上のご注意>
 検索対象フォルダー内には、ANSI・ShiftJISのコード体系のプレーンなテキストファイルを、ファイルタイプ名を.TXTか.txtか.JKNか.jknで用意してください。
 ただし、.JKNあるいは.jknは、検索条件ファイルとして使用します。
 検索対象ファイルとして使用されるのは、.TXTか.txtのファイルです。
 検索対象フォルダー内に、UTF8などの別のコード体系のファイルが存在していると、本プログラムは異常終了します。
 検索対象フォルダー内には、検索対象とする、ANSI・ShiftJIS、のコード体系のプレーンなテキストファイルを、.TXTか.txtのファイルタイプ名で用意してください。
 その上で、本プログラムを実行していただければ、日記検索がご利用いただけます。

ダウンロード

Update : 2020.02.01.sat.
フリーウェア・無料、です。
    TTnKensaku4.exe
Windows 10 対応
Author : TADASHI TAKEHANA
Program Size : 23,438,395 bytes
Version : 1.02.

 ダウンロードしましたら、『ダウンロード』フォルダーに、TTnKensaku4.exeがあるかと思います。
 たとえば、ユーザー名をTakehanaと設定している場合。
 まず、エクスプローラーで、『ダウンロード』フォルダーを開いて、TTnKensaku4.exeをコピーします。
 エクスプローラーで、『PC』をクリックし、『C:』をWクリックし、『ユーザー』をWクリックし、『Takehana』をWクリックして、コピーしたTTnKensaku4.exeを貼り付けます。
 コマンドプロンプトを起動します。
 プロンプトが、C:\Users\Takehana>となっていなければ、次のコマンドを実行します。
cd c:\Users\Takehanaとタイプ入力して、リターンを押します。
 これで、プロンプトが、C:\Users\Takehana>になります。
 これで、カレントフォルダーが、本プログラムTTnKensaku4.exeの存在するフォルダーになりました。
 そこで、
TTnKensaku4 4 c:\ansijouken\jouken.jkn +++ c:\ansifilefolder
とタイプ入力して、リターンキーを押せば、Cドライブのansijoukenフォルダー内のjouken.jknを検索条件ファイルとして、Cドライブのansifilefolder内のテキストファイルを検索対象ファイルとして、本プログラムTTnKensaku4.exeが起動します。
 詳しくは、<ご使用方法>をご参照ください。

   ソースプログラムは下記よりご参照いただけます。
    TTnKesaku4.hs
Author : TADASHI TAKEHANA
Version : 1.02.
 上のリンクをクリックしてTTnKensaku4.hsを表示した後、右クリックして、名前を付けて保存をクリックします。
 ファイルの種類をすべてのファイルに切り替え、ファイル名は、末尾の4文字.txtを削除して、TTnKensaku4.hsに修正します。
 そして、保存、をクリックすると、ダウンロードフォルダーに、TTnKensaku4.hsを保存していただけます。
 Haskellの開発環境をインストールされているなら、そのghcコマンドが使用できるフォルダーにTTnKensaku4.hsをコピーしていただき、コマンドプロンプトをghcの使用できるフォルダーに設定。  そして、ghc TTnKensaku4とタイプしてリターンキーを押してもらえば、コンパイルが実行されて、実行プログラムTTnKensaku4.exeが作成されます。