csvファイルをsortコマンドで並び替えする

2022-08-25

CSVファイルをsortコマンドで昇順にソートする

sortコマンドを利用して、CSVファイルなどの ○列目 の数字をキーにして並び替えしたい場合があります。
昇順に並び替えする場合は、下記のようにします。

書式:sort -k [キーとなる列番号] -t [区切り文字] -n [ファイル名]

# CSVファイルの中身は以下となります
$ cat aaa.csv
yamada,358
sato,122
suzuki,323
aoki,455
naka,500

# 「,」区切りとして、2列目をキーとして昇順で並び替えします
$ sort -k 2 -t "," -n test.csv
sato,122
suzuki,323
yamada,358
aoki,455
naka,500

オプションの簡単な解説は以下となります

  • 「-n」文字をデータではなく数字として扱います
  • 「-k」キーとなる列番号を指定します
  • 「-t」区切り文字を指定します

CSVファイルをsortコマンドで降順にソートする

先程は、昇順でソートしましたが降順でソートするには「-r」のオプションを使います。「-r」とするとデータを降順で並び替えかれます

書式:sort -k [キーとなる列番号] -t [区切り文字] -nr [ファイル名]

$ sort -k 2 -t "," -nr test.csv 
naka,500
aoki,455
yamada,358
suzuki,323
sato,122

ソートしたCSVファイルを、新たなファイルとして保存する

ソートしたファイルの内容は画面には表示されますが、ファイルの内容はそのままなので、「>」を使って新たなファイルとして保存します。下記ではソートした内容を「test2.csv」として保存しています

$ sort -k 2 -t "," -nr test.csv > test2.csv

 

スポンサーリンク

0
0