同一複数行を1行にするプログラム

概要

 連続する同一行を1行にまとめるプログラムです。 また、何行同一の行があったかを知りたい場合も、タブ区切りやCSVで出力することが出来ますから、いろいろな用途で使えると思います。 コンピュータからの出力を処理するときに威力を発揮します。

 同一行が散らばっているような場合は、そのままでは処理できません。 ソートプログラムなどでソートを行って、そのファイルを処理するようにして下さい。


使い方

このソフトの動作

 このソフトは連続する同一の文字列を持つ複数行を一行にまとめて出力します。 つまり行をソートした後に違う行の一覧を作るときなどに使用します。

 また、このソフトの場合は、同一の行が何行あったかの行数も出力することが出来ますので、出現頻度を調べることもできます。

動作環境

 このソフトはWindows95/NTのコンソールアプリケーションですので、まずWin32コンソール(いわゆるDOS窓)を開いてから起動します。 ネイティブのMS-DOSやMS-DOSモードではThis program must be run under Win32と表示され起動することが出来ません。

起動

 このソフトは入力は「標準入力」、出力は「標準出力」に設定してあります。 そのためファイルなどから入出力する場合はリダイレクトする必要があります。また、パイプなどで他のソフトの出力から繋ぐことが出来ます。

 入力をSAMPLE.TXT、出力をOUTPUT.TXTとした場合、以下のようにして起動します。

 UNIQ <SAMPLE.TXT >OUTPUT.TXT

 また、SORTをしてから使うことが多いですから、ソートと繋いで以下のようにして起動するようにすることもできます。

 SORT <SAMPLE.TXT | UNIQ >OUTPUT.TXT

起動オプション

 起動オプションとしては/Cと/Qがあります(無指定でも可)。 また/Hもしくは/?で簡単な説明が出ます。

 UNIQ [/C, /Q] (<infile) (>outfile)

/C

 行をまとめた後、タブを出力した後にそのまとめた行数を出力します。 つまりテストという行が5行続いていた場合、その出力はテスト    5となります(5の前にハードタブがある)。

/Q

 行をまとめた後、CSV形式で出力します。 行の文字列をダブルクォーテーションマーク"で囲み、カンマ,の後に行数を出力します。 出力例としては"テスト",5となります。

 この形式は表計算やデータベースでの入力に適していますから、出力行を出現頻度ごとに並べるなど集計作業をするときに便利です。

注意

 同一行をまとめる機能や出現頻度を調べるには行がソートされている必要があります。 Windows95の場合は「¥Windows¥Command」に入れられているものや、フリーで流通しているソートプログラムなどを入手して行のソートを行ってください。 行のソートが行われていないと、このソフトの機能を使うことは出来ません。

 また、半角空白2個と全角空白は見た目では分かりにくいですが、これらは違うものですから当然違うものとして扱われます。 同じものとして扱った方が良い場合は事前に全て半角空白に変換するなどの作業を行ってからソートやこのプログラムを使うようにしてください。


著作権に関して

 このソフトはソースが添付されていますから、著作権のソースは該当しません。 また、あまりにも簡単なソフトのため、改変改変取扱も適応しなくてかまいません。 少しでも変更した場合はその扱いは改変者に任せます。 ただし、有償配布してはいけません。

 その他の項目はそのまま適応してください。そのため、ソースは公開していますが、著作権は放棄していません。


copyright (c) 1998 and