区切り文字としてタブ文字を指定する
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
としてしまうとうまくソートできませんでした。