ウェブサイト検索

Bashソートコマンドの使い方


「Bashのsortコマンドは、ファイルの内容をソートし、標準出力に出力するために使用されます。sortを使用すると、ファイルの内容をアルファベット順、逆順、数値順、昇順、または降順にソートできます。sortコマンドはファイルの内容を行ごとにソートし、与えられた入力がソートキーとして機能します。このガイドの終わりまでに、Bashのsortコマンドの使い方を理解できるようになります。」

ソートコマンドを使用したソート

sortコマンドはさまざまなオプションをサポートしており、それらはヘルプページで確認できます。一般的なオプションについて、例を使って説明します。

ファイルの後にソートコマンドを実行すると、内容がアルファベット順にソートされ、ソートされた出力が表示されます。

大文字と小文字のソート

上記の例では、小文字の文字のみです。もし混合大文字と小文字があった場合はどうでしょうか?混合コンテンツを含むファイルを作成して、ソートがどのように実行されるか見てみましょう。

こちらが私たちのファイルです。

片付けて何が得られるか見てみましょう。

小文字が大文字の前に配置されていることに注意できます。

数のソート

数字をソートしたい場合は、-n フラグを追加する必要があり、sort は数字を昇順に並べ替えます。

ここに例があります。

逆順ソート

-rフラグを使用することで、sortに並び替えを逆にするよう指示できます。

例えば、数値を含むファイルを並べ替えて、それがどのように配置されるか見てみましょう。

また、以下の例のように、アルファベットを反転させて z/Zから始めることもできます。

複数のファイルを整理する

同時にソートしたい複数のファイルをソートで組み合わせることができます。以下の例では、2つのファイルがあります。

一度にそれらをソートするために、空白で区切られたファイル名を追加し、一度にソートする必要がありますが、出力が混ざってしまうでしょう。

重複の削除

ファイルに重複する値があり、それらをソートするときに印刷したくない場合は、-u フラグを使用してそれらを削除できます。

下記の重複行があるファイルを見てください。

もし -u フラグを使って sort コマンドを実行すると、重複する値が印刷されていないことに気づきます。

これは、数字や名前を含むファイルの独自の配置を作成したいときに役立ちます。

ソートオプションの組み合わせ

時には、異なるオプションを同時に使用する必要があるかもしれません。たとえば、数値を逆順にソートすることです。それも可能です。以下の構文を使って数値ファイルを逆順にする例を見てみましょう。

sort -nr FILENAME

テーブルの列を並べ替える

-kオプションを使用すると、利用可能な列に基づいてテーブルをソートできます。

この例では、3つの列を持つテーブルを作成しましょう。

次に、数字を含む2番目の列を-nオプションを使用して、-kで列2を指定することでソートできます。以下のコマンドを使用してください。

sort -k 2n table.txt

上記の例は、指定された第2列に重複があることを示しています。重複を削除したい場合は、以下の画像のように -u フラグを追加することでそれを達成できます。

ファイルがソートされているか確認する

ファイルをソートする前に、そのファイルがすでにソートされているかどうかを確認できます。そのためには、-c フラグを使用します。ファイルがソートされていれば、出力は何も表示されません。

しかし、ファイルがソートされていない場合、ファイルに順序がないというメッセージが表示されます。

月の並べ替え

もし月が含まれているが整列されていない形式のファイルがあった場合、-Mフラグを使用してファイルを整列させることができます。

ファイルに保存する

標準出力に表示するのではなく、ソートされた内容を含む新しいファイルを作成したい場合は、-oフラグの後にファイルの名前を指定してください。

下の例では、ソートされた月を新しいファイルに保存しています。

結論

Bashのsortコマンドは、ファイルの内容をソートするのを簡単にします。さまざまな形式でファイルの内容をソートできます。このガイドを使えば、ファイルをソートするために試すことができるさまざまなオプションがあります。それでは、みなさん。この記事がsortコマンドの使い方についての理解を深める助けになれば幸いです。