WindowsやMacOSの無料代替えオペレーションシステムであるLinuxはsortコマンドを使ってテキストファイルの行を並び替えることができます。そこで今日は、Linuxのsortコマンドでの並び替え方法やsortコマンドのオプション一覧を解説します。
sort(ソート)コマンドのsort(ソート)とは、データを特定の規則に従って\順番に並び替えること、コマンドとは命令のことです。普段Linux以外のExcelなどで並び替え機能は使用している人も多いと思いますが、コマンドを使っての並び替えはあまり馴染みのない人も多いでしょう。そこでLinuxのsort(ソート)コマンドとは何か、何ができるのかを具体的に説明します。
Linuxのsort(ソート)コマンドはテキストファイルを行単位で並べ替えることができるコマンドのことを言います。bashというのは「Bourne Again Shell」の略で、コンピューターのOSを構成するソフトウェアの1つです。もう少し簡単に言うと、作成されたコマンドをコンピューターへ伝えるためのプログラムということです。
bashはスプリクトと組む時に使ったり、情報の提示なとを担当したりするもので、別名シェルスクリプトとも呼ばれています。
実際にLimuxのsort(ソート)コマンドを使ってテキストデータを並び替える方法を紹介していきます。まずは基本的なテキストデータの並び替える方法からです。
並べ替えの一番基本的な使い方として、Lunixのsort(ソート)コマンドでテキストデータを昇順に並び替えてみましょう。上画像のような「data.txt」というファイル名のテキストデータをLunixのsort(ソート)コマンドで並べ替える場合、コマンドは「$ sort data.txt」となります。
並び替えた結果が上画像です。普段Excleなどで並べ替え機能を使っている人なら、10の次が20ではなく100という並び替え結果に違和感を覚えるでしょう。なぜならLinuxの標準のsortコマンドでは、テキストデータ=文字として1文字目の小さい順に並び替えるからです。数値の値として並び替えたい場合は、次項「Linuxのsortコマンドの便利な使い方/数値の値を昇順で並び替える方法」で解説します。
次にテキストデータを降順(大きい順)に並べ替える方法を紹介します。使用するsort(ソート)コマンドは先ほどの昇順に並べ替えたsortコマンドに降順で開並び替えるオプションである【-r】を加えた「$ sort -r data.txt」です。先ほどの昇順に並び替えに使ったテキストデータを降順に並び替えたものが上画像の右側です。こちらも5,3,2,1と1文字目を降順で並び替えています。
大量のテキストデータを並べ替えした場合、出力した方が作業がしやすくなります。そのためのファイルに出力するコマンドは、「$ sort 並び替え対象ファイル > 並び替え出力ファイル」となりますので、先ほどのdata.txtをdata_sort.txtというファイル名で出力するには、「$ sort data.txt > data_sort.txt」というコマンドになります。
Linuxのsortコマンドは前項で紹介した基本的な並び替え以外にも便利な使い方がありますので紹介していきます。
Linuxのsortコマンドは1文字目の数値ではなく、数値の値で並び替える方法もあります。その場合、sortコマンドのオプション【-n】を使うことで、テキストデータ(文字列)を数値とみなして並べ替えるため、1、20、50、100のように昇順で並び替えることができます。data.txtを数値で昇順に並び替えたい場合のコマンドは「$ sort -n data.txt」です。
数値の値を降順(大きい順)で並び替える方法もあります。その場合はLinux sortコマンドオプション【-rn】を使います。オプション【-r】は昇順の逆で並べ替え、オプション【-n】は先ほど説明した通り、テキストデータ(文字列)を数値とみなすので、数値を降順に並び替えするというコマンドになり、sortコマンドは「$ sort -rn data.txt」となります。
1 / 2
続きを読む