GNU/Linux >> Linux の 問題 >  >> Ubuntu

Linuxでの並べ替えコマンドと例

sortコマンドは、コンテンツを特定の順序でソートするために使用されるGNUコアユーティリティの1つです。アルファベット順、数値順、月別、逆順など、さまざまな方法でコンテンツを並べ替えることができます。並べ替えコマンドに関して覚えておく必要のある重要なポイントは次のとおりです。

  • 数字は文字の前に最初に表示されます
  • 文字ごとに、小文字が最初に並べ替えられます。
  • デフォルトでは、スペースはフィールド区切り文字として使用されます。他のフィールドセパレータも使用できます。

この投稿では、Linuxでのsortコマンドの基本的な使用法といくつかの一般的なオプションを紹介します。 Ubuntu 20.04 LTSですべてのコマンドをテストします 。ただし、他のLinuxディストリビューションにも同じコマンドを適用できます。

sortコマンドの構文は次のとおりです。

$ sort [OPTION]... [FILE]...

並べ替えコマンドの基本的な使用法

コマンドラインオプションを指定せずにsortコマンドを使用すると、指定したファイルの内容がアルファベット順に並べ替えられます。

以下は、 sample1.txtです。 例として使用するファイル。

sample1.txtのコンテンツを並べ替える ファイルの場合、コマンドは次のようになります:

$ sort sample1.txt

アルファベット順にソートされたコンテンツを表示する上記のコマンドの出力は次のとおりです。

ファイルにアルファベットと数字の両方が含まれている場合、sortコマンドはアルファベットの前に数字を並べ替えます。以下は、数字とアルファベットの両方を含むサンプルファイルです。

並べ替え後の上記のファイルの出力は次のとおりです。アルファベットの前に数字が並べ替えられていることがわかります。

並べ替えコマンドオプション

sortコマンドは、その有用性を拡張する多くのオプションを提供します。いくつかのオプションとその使用方法を見てみましょう。

逆順で並べ替え

ファイルの内容を逆の順序で並べ替えるには、 -rを使用します オプション。たとえば、以下はアルファベットの逆順に並べ替えたいサンプルファイルの内容です。

このファイルの内容を逆の順序で並べ替えるには、 -rを使用します 次のオプション:

$ sort -r sample1.txt

数値順に並べ替える

データを数値で並べ替えるには、 -nを使用します sortコマンドのオプション。このオプションは、ファイルに数値が含まれていて、それらを最小の数値から最大の数値、または最大の数値から最小の数値に並べ替える場合に役立ちます。デフォルトの並べ替えでは、113は2よりも小さいと見なされることに注意してください。

以下は、サンプルファイルのデフォルトの並べ替えの例です。デフォルトの並べ替えでは、最初の数値に基づいて並べ替えが行われることに注意してください。最初の数値が同じである場合、2番目の数値に基づいてソートされます。以下の例のように、113は13と2よりも小さいです。

上記のコンテンツを数値で(最小の数値から最大の数値に)並べ替えるには、 -nを使用します 次のオプション:

$ sort -n sample2.txt

月ごとに並べ替え

デフォルトのsortコマンドは、ファイルの内容をアルファベット順にソートします。ファイルに月の名前のリストが含まれている場合は、 -Mを使用して月ごとに並べ替えることができます 指図。たとえば、以下は月の名前を含むサンプルファイルです。

上記のファイルの内容を月で並べ替えるには、 -Mを使用します 次のオプション:

$ sort -M sample3.txt

列番号に基づいて並べ替え

デフォルトでは、sortコマンドは最初の列の最初の文字に基づいてコンテンツの並べ替えを開始します。

たとえば、以下は2つの列を含むサンプルファイルです。果物の名前とそれぞれの価格。デフォルトの並べ替えを使用する場合、最初の列(果物の名前を含む)に基づいて並べ替えられます。

上記のファイルの内容を2番目の列(価格)に基づいて並べ替えるには、次のように-kコマンドを使用する必要があります。

$ sort -k2 -n sample1.txt

ここで、-k2はsortコマンドに2番目の列でソートするように指示し、-nは数値ソートに使用されます。

上記のコマンドは、価格に基づいてコンテンツを並べ替えます(低いものから高いものへ)。

異なるフィールドセパレータを使用する

デフォルトでは、sortコマンドはスペースをフィールド区切り文字として使用します。スペース以外の別のフィールド区切り文字を使用するには、 -tを使用します オプション。以下は、2番目の列(カンマで区切られています)に基づいて並べ替えるサンプルファイルです。 。

2番目の列に基づいて上記のファイルを並べ替えるコマンドは次のようになります。

$ sort -k2 -n -t “,” sample1.txt

-k2がsortコマンドに2番目の列でソートするように指示する場合、-nは数値ソートに使用され、-tはフィールドセパレーターを指定するために使用されます。

重複を並べ替えて削除する

-u sortコマンドのオプションは、コンテンツのソートとともに重複を削除します。以下は、重複する値を含むサンプルファイルです。

このファイルをアルファベット順に並べ替え、重複する値も削除するには、コマンドは次のようになります。

$ sort -u sample1.txt

これは、重複が削除されたソート済みファイルの出力です。

ソートされた入力を確認する

-cを使用する sortコマンドのオプションを使用すると、ファイルが以前にソートされているかどうかを確認できます。ファイルが以前にソートされている場合、出力は表示されません。ただし、ファイルが並べ替えられていない場合は、順序が正しくない行が表示されます。

サンプルファイルは次のとおりです。

このファイルがすでにソートされているかどうかを確認するには、 -cを使用します 次のオプション:

$ sort -c sample.txt

サンプルファイルはすでに並べ替えられているため、出力は表示されません。

ソートされた出力をファイルに保存

並べ替えコマンドは、並べ替えられた出力のみをターミナルに表示します。保存されません。ソートされた出力を別のファイルに保存するには、リダイレクト演算子を使用します。たとえば、 file.txtの並べ替えられた出力を保存するには sortedfile.txtという名前の新しいファイル 、次のコマンドを使用します:

$ sort file.txt > sortedfile.txt

パイプオプションを使用したコマンドの並べ替え

他のコマンドの出力をsortコマンドにパイプすることでソートできます。たとえば、ホームディレクトリ内のファイル/ディレクトリリストをサイズで数値で並べ替えたいとします。 lsを使用してこれを行うことができます コマンドとその出力をパイプ処理して、コマンドを次のように並べ替えます。

$ ls -l /home/kbuzdar/ | sort -nk5

上記のコマンドの出力は次のとおりです。ファイルがサイズ別に並べ替えられていることがわかります。

この投稿では、Linuxでのsortコマンドの基本的な構文と使用法について説明しました。また、その機能を拡張するための一般的なオプションのいくつかについても説明しました。ヘルプを表示し、その他の並べ替えオプションについて学習するには、並べ替えのマニュアルページにアクセスするか、 sort –helpと入力してください。 ターミナルで。


Ubuntu
  1. 例を含むLinuxTeeコマンド

  2. 例を含むLinuxヘッドコマンド

  3. Linuxでの並べ替えコマンドと例

  1. 例を含むLinuxソースコマンド

  2. 例を含むwcLinuxコマンド

  3. LinuxでのJQコマンドと例

  1. Linuxのソートコマンドと例

  2. Linuxでのエコーコマンド(例付き)

  3. Linuxでのmanコマンドと例