テキストの重複削除と並べ替え

1 行 1 件で貼り付けるだけで、重複削除・並べ替え・シャッフル・大文字小文字変換・空白除去をワンクリック。メール一覧、キーワード表、ID リストのような単純作業が特に速くなります。

テキストの重複排除と並べ替えツールの説明

集めたメールの一覧に重複が山ほどある、システムから書き出した ID の順序がばらばら、キーワード表を長さ順に並べ直したい。こうした手作業はコマンド 1 行で片付くこともありますが、誰もがいつでも端末を開けるわけではありません。本ツールはその操作をチェックボックスにしました。

できる 6 つのこと

  • 重複排除:完全に同じ行は最初に現れた 1 行だけを残します。大文字小文字を無視する設定にすると、Apple と apple が同じものとして扱われます。
  • 並べ替え:9 種類の方法を用意しており、日常のほとんどの要件をカバーします。
  • シャッフル:順序をランダムに並べ替えます。抽選、ランダムなグループ分け、無作為抽出に使えます。
  • 大文字小文字の変換:すべて大文字、すべて小文字、先頭のみ大文字、各単語の先頭を大文字。
  • 空白の削除:各行の前後のスペースとタブを除去します。Web ページや表からコピーしたデータは行末に見えない空白が潜んでいることが多く、重複排除が効かない原因になります。実はこの工程が肝心なことも多いです。
  • 出現回数の集計:各行の後ろに出現回数を付けられるので、本当の重複を見つけやすくなります。

並べ替え方法の違い

並べ替えは単純に見えて複数の基準があり、選び方を間違えると結果も狂います。

  • 辞書順:文字ごとに符号値を比べます。弱点は数字で、辞書順では 10 が 2 より前に来ます。文字 1 が 2 より小さいからです。
  • 自然順:連続する数字を 1 つのまとまりとして比べるので、2 が 10 より前に来ます。ファイル名、章番号、バージョン番号(v1 v2 v10)は必ずこちらを使ってください。
  • 長さ順:短いものが先です。キーワードやタグの整理でよく使います。
  • 数値のみ:行全体を数値として扱います。数値に変換できない行は末尾に回ります。

中国語にはもう 1 つ層があります。辞書順は漢字の符号値で比べるため、結果はピンイン順とも画数順とも一致しません。厳密にピンイン順で並べるには専用のツールが必要で、本ツールでは対応できません。

「大文字小文字を無視して重複排除」の隠れた問題

このオプションをオンにすると、Apple、APPLE、apple が 1 件に統合されます。残るのは最初に現れた表記です。

これはメールアドレスを扱うときに重要です。メールアドレスは理論上大文字小文字を区別しませんが、先頭を大文字にする習慣の人も多くいます。一覧に [email protected] と [email protected] が混在しているなら、大文字小文字を無視して統合できます。ただし大文字小文字を区別する識別子(パスワード、Base64、Unix のファイル名など)を扱うときは絶対にオンにしないでください。別物を同じものと誤判定します。

データ整理のおすすめ手順

汚れたデータを整えるなら、次の順序で操作してください。

  • 1. 空白を削除。まず行頭と行末の空白を落とします。そうしないと "apple " と "apple" が別のレコードとして扱われます。
  • 2. 空行を削除。空行は重複排除と並べ替えの結果を乱します。
  • 3. 大文字小文字を統一。無視したいなら、重複排除のときに無視するより先に変換したほうが徹底できます。
  • 4. 重複排除。ここまでの工程を済ませてからなら、結果はきれいになります。
  • 5. 並べ替え。最後に並べ替えると見比べて確認しやすくなります。

順序を間違えると結果が劣化します。たとえば先に重複排除をしてから空白を削除すると、「見た目は同じだが実際は違う」レコードが残ってしまいます。

どのくらいの行数を扱えるか

数万行ならまったく問題ありません。ブラウザはテキスト処理が速いです。10 万行を超えると、PC のメモリ次第で引っかかりを感じ始めます。極端に多い場合(数十万行以上)は、やはりコマンドラインツールをおすすめします。sort -u で重複排除して並べ替え、awk '!a[$0]++' で順序を保ったまま重複排除、shuf でシャッフルと、どれも Web ページより効率的です。

データの安全性

処理はすべてブラウザのメモリ内で完結し、ネットワーク要求は一切ありません。F12 で Network パネルを開いて「処理」を押してみてください。要求は 1 件も出ません。電話番号、メールアドレス、顧客名簿を含むデータでは、この点が重要です。

よくある質問

重複排除すると元の順序は変わりますか?

重複排除そのものは順序を崩しません。残るのは最初に現れた位置だからです。並べ替えを「なし」にしておけば、出力の順序は入力と同じで、重複分だけが除かれます。並べ替えも同時に指定すれば、当然ながら並び直されます。

何件削除されたかはわかりますか?

処理が終わると上部のステータスバーに元の行数、重複排除後の行数、削除された件数が表示されます。「出力に出現回数を付ける」をオンにすれば、各行が何回重複していたかもわかります。

中国語の並べ替えがピンイン順にならないのはなぜ?

辞書順が文字の符号値を使うためで、漢字の符号順はピンインとも画数とも対応しません。本ツールが提供するのは符号順で、結果は安定していますがピンイン順としては使えません。ピンイン順が必要なら、ピンインを付けたデータを表計算ソフトで並べ替えてください。

シャッフル結果は再現できますか?

再現できません。押すたびに新しい乱数の起点を使うため、同じ入力でも 2 回の結果は異なります。これがシャッフルとして正しい挙動です。再現できるなら、それはランダムではありません。

列単位の重複排除(CSV の 2 列目だけなど)はできますか?

できません。本ツールは行全体のテキストで比較します。特定の列だけで重複排除したい場合は、その列を単独でコピーして処理するか、表計算ソフトのデータ機能を使ってください。

関連ツール