logo

Linux でテキスト ファイル内の行を並べ替える方法 |ソートコマンド

SORT コマンドは、ファイルをソートし、レコードを特定の順序で配置するために使用されます。デフォルトでは、sort コマンドは内容が ASCII であると仮定してファイルをソートします。 sort コマンドでオプションを使用すると、数値的に並べ替えることもできます。

  • SORT コマンドは、テキスト ファイルの内容を 1 行ずつ並べ替えます。
  • sort は、入力行、または引数リストにリストされているすべてのファイルの連結をソートされた順序で出力する標準的なコマンドライン プログラムです。
  • sort コマンドは、テキスト ファイルの行を並べ替えるコマンド ライン ユーティリティです。アルファベット順、逆順、数字順、月順の並べ替えがサポートされており、重複を削除することもできます。
  • sort コマンドは、行の先頭にない項目で並べ替えたり、大文字と小文字の区別を無視したり、ファイルが並べ替えられているかどうかを返すこともできます。並べ替えは、入力の各行から抽出された 1 つ以上の並べ替えキーに基づいて行われます。
  • デフォルトでは、入力全体がソートキーとして使用されます。空白スペースはデフォルトのフィールド区切り文字です。

sort コマンドは、次に示すように、次の機能に従います。



  1. 数字で始まる行は、文字で始まる行より前に表示されます。
  2. アルファベットの前にある文字で始まる行は、アルファベットの後ろにある文字で始まる行より前に表示されます。
  3. 大文字で始まる行は、同じ文字で始まる小文字の行より前に表示されます。

目次

Linuxのsortコマンドの構文

ここ、

' オプション ' は並べ替え動作をカスタマイズするために使用できるさまざまなフラグとパラメータを指し、'file' は並べ替えられるファイルの名前です。



ファイルが指定されていない場合は、「 選別 ' は標準入力から読み取ります。

並べ替えコマンドで使用できるオプション

オプション

説明



-O

ソートされたデータの出力ファイルを指定します。機能的には、出力をファイルにリダイレクトするのと同等です。

-r

データを逆順 (降順) に並べ替えます。

-n

ファイルを数値的に並べ替えます (データを数値として解釈します)。

文字列から文字へのJava

-いいえ

数値データを含むファイルを逆順にソートします。 -n オプションと -r オプションを組み合わせます。

-k

特定の列番号に基づいてテーブルを並べ替えます。

-c

ファイルがすでに並べ替えられているかどうかを確認し、乱れがあれば報告します。

-で

重複する行を並べ替えて削除し、並べ替えられた固有のリストを提供します。

-M

月名順に並べ替えます。

Linux で sort コマンドを使用してテキスト ファイルの行を並べ替える方法

簡単な例から始めましょう。次の内容を含む「file.txt」という名前のファイルについて考えてみましょう。

cat file.txt>
catコマンドを使用してファイルの内容を表示する

catコマンドを使用してファイルの内容を表示する

メソッドの部分文字列 Java

ここでは cat コマンドを使用して、ファイル名「file.txt」内の内容を表示します。

行をアルファベット順に並べ替えるには、次のコマンドを使用できます。

sort file.txt>
sort コマンドを使用してテキスト内の行を並べ替える

sort コマンドを使用してテキスト内の行を並べ替える

注記: このコマンドは、実際には入力ファイル ( file.txt ) を変更しません。これは次を使用して確認できます 指示 。

実際のファイルには変更が加えられません

実際のファイルには変更が加えられません

sort コマンドを使用してテキスト ファイル内の行を大文字と小文字で並べ替える方法

混合ファイル(大文字と小文字)を使用したソート機能: 大文字と小文字の両方が含まれる混合ファイルがある場合、まず大文字が並べ替えられ、次に小文字が並べ替えられます。

例: 大文字と小文字の両方を含むテキスト ファイルがある場合。

cat mix.txt>
catコマンドを使用してファイルの内容を表示する

catコマンドを使用してファイルの内容を表示する

ここでは cat コマンドを使用して、ファイル名「mix.txt」内の内容を表示します。

大文字と小文字を含む行をアルファベット順に並べ替えるには、次のコマンドを使用できます。

sort mix.txt>
sort コマンドを使用してテキストの大文字行と小文字行を並べ替えます。

sort コマンドを使用してテキストの大文字行と小文字行を並べ替えます。

sort コマンドを使用してテキスト ファイルの行単位で数値を並べ替える方法

デフォルトでは、「sort」は数値をテキストとして扱い、それに応じて並べ替えます。数値による並べ替えを実行したい場合は、「-n」オプションを使用します。

cat file1.txt>
catコマンドを使用してファイルの内容を表示する

catコマンドを使用してファイルの内容を表示する

ここでは cat コマンドを使用して、ファイル名「file1.txt」内の内容を表示します。

次に、次のようにsortコマンドを使用して数値データをソートします。

sort file1.txt>
Linuxファイル内の数値データをソートする

Linuxファイル内の数値データをソートする

sort コマンドを使用して Linux ファイルの行を逆順に並べ替える方法

逆順に並べ替えるには、「-r」オプションを使用できます。

: Linux ファイルで行を逆順に並べ替えたい場合は、-r オプションを付けて sort コマンドを使用できます。以下に示すように、ファイル名が example.txt であるとします。

文字列比較Java
cat example.txt>
cat コマンドを使用してファイル内のコンテンツを表示する

cat コマンドを使用してファイル内のコンテンツを表示する

`を使用して行を逆順に並べ替えています -r` ソートコマンドのオプション

sort -r example.txt>
sort コマンドで -r を使用して行を逆順に並べ替える

sort コマンドで -r を使用して行を逆順に並べ替える

sort コマンドを使用して Linux ファイル内の特定のフィールドを並べ替える方法

従業員に関する情報がタブ区切り形式で含まれている「employee_data.txt」という名前のファイルがあると想像してください。各行は、従業員 ID、名前、部門、給与などの詳細をタブで区切ったレコードを表します。このデータを部門に基づいて整理し、結果をアルファベット順に表示したいと考えています。

例えば : ファイル名がemployee_data.txtで、その中身は次のとおりであるとします。

cat employee_data.txt>
catコマンドを使用してファイルの内容を表示する

catコマンドを使用してファイルの内容を表示する

これを実現するには、「sort」コマンドを使用します。

sort -k3 employee_data.txt>

説明:

-k3 : このオプションは、並べ替えが 3 番目の列 (部門) に基づいて行われることを示します。

sort コマンドを使用して特定の列を並べ替える

sort コマンドを使用して特定の列を並べ替える

この例では、従業員レコードが「Department」列に基づいてアルファベット順に並べ替えられています。カスタム区切り文字を使用した「並べ替え」コマンドを使用すると、タブで区切られたデータを効率的に整理および分析できるため、さまざまなシナリオで構造化情報を管理するための貴重なツールになります。

sort コマンドのアプリケーションと使用法:

  1. テーブルファイル、テキストファイル、数値ファイルなど、あらゆるタイプのファイルをソートできます。
  2. 現在の作業を妨げることなく、あるファイルから別のファイルへの並べ替えを直接実装できます。
  3. 列に基づいたテーブル ファイルの並べ替えが非常にシンプルかつ簡単になりました。
  4. あらゆる方法で並べ替えるために非常に多くのオプションが利用可能です。
  5. 最も有益な用途は、提供された入力ファイルに変更が加えられないため、特定のデータ ファイルを何度も使用できることです。
  6. 元のデータは常に安全であり、妨げられることはありません。

ソートコマンドに関するよくある質問

デフォルトで「sort」コマンドを使用してファイルを降順に並べ替えることはできますか?

いいえ、「sort」コマンドはデフォルトでファイルを昇順に並べ替えます。降順を実現するには、「-r」オプションを使用する必要があります。

「sort」コマンドを使用して、特定の列に基づいてファイルを並べ替えるにはどうすればよいですか?

特定の列に基づいてファイルを並べ替えるには、「-k」オプションの後に列番号を指定します。

例えば、

sort -k 2 data.txt>

これにより、2 番目の列に基づいて並べ替えられます。

Javaのコレクション

「sort」コマンドを使用するときに「-o」オプションを使用することと、出力をファイルにリダイレクトすることの違いは何ですか?

どちらの方法でも、並べ替えられた出力をファイルに保存するという同じ結果が得られます。 「-o」オプションを使用すると、リダイレクト(例: ` sort file.txt>出力.txt`>> )同じ結果が得られます。

「sort」コマンドを使用してファイルがすでにソートされているかどうかを確認するにはどうすればよいですか?

「sort」コマンドで「-c」オプションを使用します(例: sort -c file.txt> )。ファイルがすでにソートされている場合、出力はありません。乱れたラインがある場合は報告されます。

「sort」コマンドを使用して、数値データを含むファイルを逆順に並べ替えることはできますか?

はい、「-n」オプションは数値データを含むファイルを並べ替えます。「-r」オプションはそれと組み合わせることができます(例: sort -nr numbers.txt> ) 逆数値ソートを実現します。

結論

この記事では、テキスト ファイルをさまざまな順序で配置するための強力なユーティリティである Linux の「sort」コマンドについて説明しました。アルファベット順、数値順、逆順の並べ替えに加え、特定の列を並べ替えたり重複を削除したりするオプションもサポートしています。このコマンドは多用途であり、テーブルや数値データなどのさまざまなファイル タイプを処理します。この記事では、構文、オプション、実践的な例を含め、「sort」コマンドの包括的な概要を説明します。よくある質問 (FAQ) は一般的な質問に対処しており、Linux コマンド ラインで効率的にデータを整理および分析するための貴重なリソースとなっています。