sortコマンドにより行単位で標準入力またはテキストファイルの並び替えをすることができます。
以下にsortコマンドの使用例を記します。
以下に標準入力を使用した例とテキストファイルを指定した例を記します。
使用したpref.txtファイルの内容は以下の通りです。
C:\Users\sakura\Desktop>type pref.txt Hokkaido Aomori Iwate Miyagi Akita Yamagata Hukusima Ibaraki Tochigi Saitama Chiba Tokyo
標準入力の内容をソートするには以下のようにします。
コマンド | sort
最初のコマンドは標準出力されるコマンドになります。
以下の例は、pref.txtファイルをtypeコマンドで標準出力に出力しパイプ(|)によりsortコマンドに渡しています。
標準入力からの受け取った情報のソートは以下のようになります。
C:\Users\sakura\Desktop>type pref.txt | sort Akita Aomori Chiba Hokkaido Hukusima Ibaraki Iwate Miyagi Saitama Tochigi Tokyo Yamagata
標準入力の内容をソートするには以下のようにします。
sort ファイル名
ファイル名を指定したソートは以下のようになります。
C:\Users\sakura\Desktop>sort pref.txt Akita Aomori Chiba Hokkaido Hukusima Ibaraki Iwate Miyagi Saitama Tochigi Tokyo Yamagata
逆順で並び替える場合は、/Rオプションを利用します。
(Rは大文字小文字のどちらでも同じ動作になります。)
尚、以下の構文で同じ動作となります。
コマンド | sort /r
sort /r ファイル名
sort /reverse ファイル名
/Rを/REVERSEと記述することも可能です。
以下に/Rオプションを指定して実行した例を記します。
C:\Users\sakura\Desktop>type pref.txt | sort /r Yamagata Tokyo Tochigi Saitama Miyagi Iwate Ibaraki Hukusima Hokkaido Chiba Aomori Akita
オプション+数字で指定した文字以降でソートすることが可能です。
今回も上記のpref.txtを利用してソートしてみます。
以下の例は2文字目以降を対象にソートした例です。 Saitama, Yamagata, Ibarakiなどが上位になっているのが確認できます。
C:\Users\sakura\Desktop>sort /+2 pref.txt Saitama Yamagata Ibaraki Chiba Miyagi Akita Tochigi Hokkaido Tokyo Aomori Hukusima Iwate
使用場面としては、固定長のテキストファイルなどで特定カラムからソートしたい場合などで有効に利用できると思います。
リダイレクト(>)でも同様のことが実現できますが、/Oオプションにより出力ファイル名を指定できます。
以下、/Oオプションを使用した例です。
/Oオプションの後ろに出力ファイル名を指定します。
C:\Users\sakura\Desktop>sort pref.txt /o pref_sort.txt C:\Users\sakura\Desktop>type pref_sort.txt Akita Aomori Chiba Hokkaido Hukusima Ibaraki Iwate Miyagi Saitama Tochigi Tokyo Yamagata