sortコマンドの基本的な使い方
こんにちは。技術部のhです。
やっと梅雨が明けましたね!もう8月になりびっくりしています。
今回はsortコマンドについて、
備忘も兼ねて書いていきたいと思います。
sortコマンドは簡潔に言うと、文字列を並び替えてくれるコマンドです。
まず最初にオプションなしで実行してみます。
[testuser2@ test]$ sort test
1
1000
11
14
25
3
300
40
63
9
一桁目の数字で並び替えられていることがわかります。
一つの数字として認識されないようです。
次に -r オプションを付けて実行してみます。
[testuser2@ test]$ sort -r test
9
63
40
300
3
25
14
11
1000
1
-r オプションは、並び替えた文字列を降順に表示してくれます。
一桁目で並び替えられた数字が降順で表示されました。
次に -n オプションをつけて実行します。
[testuser2@ test]$ sort -n test
1
3
9
11
14
25
40
63
300
1000
-n オプションは、文字列を数値として認識してくれるオプションです。
オプションなしと比較すると、きちんと数字として認識され並び替えてくれました。
次に、-n と -r オプションを組み合わせてみます。
[testuser2@ test]$ sort -nr test
1000
300
63
40
25
14
11
9
3
1
数字として認識してくれる上に、降順で表示してくれます。
次も便利なオプションです。
[testuser2@ test]$ sort -t "." -k2 test
1000.
300.
63.
3.Green
9.Purple.100
40.brown
14.bule.90
25.pink
1.red.3
11.yellow.63
-t オプションで区切りたい文字を指定して、
-k オプションで並び替えたい箇所を選択できます。
今回は「.」区切り、2か所目で並び替えるオプションをつけて実行しました。
見ての通り、並び替えられていますね。
文字の並び順は、英小文字より英大文字が先のようです。
最後に -u オプションです。
[testuser2@ test]$ cat test2
appele
banana
arange
appele
[testuser2@ test]$ sort -u test2
appele
arange
banana
-u オプションは重複している文字列をまとめて表示してくれます。
-f オプションと併用すると便利かもしれません。
まず、頭文字が大文字の「Apple」を書きます。
[testuser2@ test]$ cat test2
apple
banana
orange
Apple
[testuser2@hhodumi test]$ sort -u test2
Apple
apple
banana
orange
この状態では「apple」と「Apple」は同じ単語として
認識してくれません。
ですが…
[testuser2@ test]$ sort -uf test2
appele
arange
banana
-f オプションを一緒に使うと同じ単語として認識され、まとめて表示してくれました!
-f オプションは大文字と小文字を区別しないオプションです。
今回は基本的な使い方の紹介でしたが、
他のコマンドとも組み合わせられそうなので使えるようになると便利かもしれないですね。
それでは、この辺で失礼致します。