複数行テキストを並べ替える
テキストを貼り付けて並べ替え基準と順序を選び「並べ替え」を押すと、重複行を削除せずそのままの件数で並べ替えます。数字を含む行は「自然順」でfile2の次にfile10が来るように並びます。
使い方とAIOクエリ例
重複行を削除せず、入力の件数のまま並べ替えます。すべてブラウザ内で処理し、外部へ送信しません。
- 基本の例:
text_line_sorter.html?input=file10.txt%0Afile2.txt%0Afile1.txt&key=natural&order=asc&format=json format=jsonは機械可読JSON(result/lines/input_line_count/output_line_count/removed_empty_count)、format=rawは並べ替え後のテキストだけを返します。同じURLなら常に同じ結果になります。
行並べ替え・自然順ソートは、複数行テキストを辞書順・数値順・自然順(文字と数字が混じった行を人の感覚に近い順序で並べる方式)・文字数順の4通りで並べ替えるツールです。同じ「テキスト処理」カテゴリの重複行削除・ソート・件数カウントは並べ替えの前提として重複を取り除くのに対し、本ツールは重複行を一切削除せず、入力にあった行をそのままの件数で並べ替えるだけに徹しています。自然順は「file2」「file10」のように数字を含む行を、数字部分を数値として比較することで「file2」の次に「file10」が来るように並べます(辞書順では文字コード比較のため「file10」が「file2」より先に来てしまいます)。並べ替え条件が同じ行同士は入力に現れた順序をそのまま保ちます(安定ソート)。すべての処理はブラウザ内のJavaScriptで完結し、入力したテキストが外部へ送信されることはありません。
使い方・サンプル・結果例・注意点
使い方
「並べ替えたいテキスト」欄に複数行のテキストを貼り付け、「並べ替え基準」(辞書順/数値順/自然順/文字数順)と「順序」(昇順/降順)を選び、必要に応じて「英字の大文字・小文字を区別する」「前後の空白を取り除く」「空行を取り除く」のチェックを切り替えてから「並べ替え」を押すと、「結果」欄に並べ替え後のテキストが表示されます。あわせて入力行数・出力行数・取り除いた空行数・適用した並べ替え条件も表示されます。テキストが空の場合はエラー内容がステータス欄に表示され、結果は生成されません。
サンプル入力
file10.txt file2.txt file1.txt file20.txt FileA.txt
結果例
上のサンプルを既定設定(自然順・昇順・大文字小文字を区別しない)で並べ替えると、file1.txt → file2.txt → file10.txt → file20.txt → FileA.txt の順になります。辞書順(昇順)で並べ替えると、文字コード順の比較になるため FileA.txt → file1.txt → file10.txt → file2.txt → file20.txt という直感に反する順序になります(数字の並びが「1」「10」「2」「20」の文字コード順になるため)。この違いが自然順と辞書順の使い分けどころです。
注意点
数値順は行全体が数値(符号・小数点を含む)として解釈できる場合のみ数値として比較し、解釈できない行は昇順・降順に関わらず常に末尾へ集めます。自然順は行の中の連続した数字のかたまりだけを数値として比較し、それ以外の文字部分は「英字の大文字・小文字を区別する」設定に従って比較します。文字数順は前後の空白を取り除く設定に応じた文字数(サロゲートペア等を分割しうる単純な文字列長)で比較し、同じ文字数の行は辞書順で並べます。「前後の空白を取り除く」を無効にすると、比較にも表示にも元の空白がそのまま使われるため、数値順では前後に空白が付いた行は数値として認識されません。入力欄が空白のみの場合はmissing_paramに、100,000文字を超える場合はtoo_longに、20,000行を超える場合はtoo_many_linesにそれぞれ該当し、結果は生成されません。並べ替え条件がまったく同じ行同士は、入力に現れた順序のまま保たれます(安定ソート)。
こんなときに使えます
- エンジニアが、file2・file10のように連番付きのファイル名一覧やログ行を、数字の大小どおりの自然な順序に並べ替える
- データ整理担当者が、Excelやスプレッドシートからコピーした行を、重複を消さずに辞書順や数値順のまま並べ替えて元の件数を保ったまま確認する
- 文章の校正者が、箇条書きの項目を文字数順に並べ替えて、見出しの長さのバランスを確認する
- 在庫・会員番号など数字だけの行の一覧を数値順(数値として解釈できない行は末尾にまとめて)に並べ替えて確認する
よくある質問
重複行削除・ソート・件数カウントとの違いは何ですか?
重複行削除・ソート・件数カウントは、重複行をひとつにまとめてから並べ替える(重複を前提から取り除く)ツールです。本ツールは重複行をまったく削除せず、入力にあった行をそのままの件数で並べ替えることだけを行います。入力の行数と件数を変えずに順序だけを変えたい場合は本ツール、重複を整理しながら並べ替えたい場合は重複行削除・ソート・件数カウントを使い分けてください。
自然順と数値順はどう違いますか?
数値順は行全体をひとつの数値として解釈できる場合だけ数値として比較し(例:「10」「2.5」)、文字が混じった行(例:「item10」)は数値として解釈できないため常に末尾へ集めます。自然順は行の中に含まれる連続した数字のかたまりだけを数値として比較し、それ以外の文字部分はそのまま文字として比較するため、「item2」「item10」のように文字と数字が混じった行を人の感覚に近い順序で並べられます。数字を含まない行だけを扱う場合は結果が同じになることもあります。
並べ替え条件が同じ行が複数あるとき、順序はどうなりますか?
並べ替え条件(並べ替え基準・順序・大文字小文字の区別などすべての設定)で優劣がつかない行同士は、入力に現れていた元の順序のまま結果に反映されます(安定ソート)。重複行もこの規則に従うため、同じ内容の行が複数あっても入力時の並び順のまま隣り合って出力されます。
英字の大文字・小文字はどう扱われますか?
既定では大文字・小文字を区別せず比較します(例:「Apple」と「apple」は同じ扱い)。「英字の大文字・小文字を区別する」にチェックを入れると、大文字と小文字を別の文字として比較します。どちらの設定でも、表示される行の文字そのものは元の大文字・小文字のまま変更しません。
貼り付けたテキストはサーバーに送信されますか?
送信しません。行の分割・比較・並べ替えはすべてブラウザ内のJavaScriptで完結し、入力したテキストが外部へ送られることはありません。同じテキスト・同じオプションであれば、いつでも同じ結果になります。