Edited at

sortコマンドチートシート


区切り文字としてタブ文字を指定する

sortコマンドやcolumnコマンドで区切り文字にタブ文字を指定する にまとめた


セマンティックバージョニング的な命名規則でソートする

例えばこんな感じで、ドット区切りの整数がそれぞれ独立してインクリメントされる命名規則のファイル(本のセクションやセマンティックバージョニングなど)があったとすると、

$ ls -1

1.3
5.6
6.10
6.3

以下のように、-tオプションで.を区切り文字として指定して、-kオプションを複数個使うと、各フィールドごとに整数としてソートしてくれます。

$ ls -1 | sort -t '.' -k 1,1n -k 2n

1.3
5.6
6.3
6.10

最後のフィールドに対応する-kオプション以外は-k 1,1nのようにフィールドの開始と終了を指定してあげるのがポイントのようで、ここを-k 1nとしてしまうとうまくソートできませんでした。

参考: https://abicky.net/2011/07/24/174632/