csvファイルをsortコマンドで並び替えする
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
ディスカッション
コメント一覧
まだ、コメントがありません