# 並べ替え(sort). ホスト名順に(natural order, human readable)

# Bash

sort -V

# PHP

natsort(&$items)

# Python

natsort ライブラリを使うか、自前で書く

# stackoverflow に載ってた
def natsorted(vals):
  convert   = lambda text: int(text) if text.isdigit() else text.lower()
  sort_func = lambda key: [convert(c) for c in re.split('([0-9]+)', key)]
  return sorted(vals, key = sort_func)

for val in natsorted(vals):
  print val

# TypeScript

items.sort(naturalSort()); // npm install natural-sort @types/natural-sort

naturalSort() で関数を返してくれるので、カッコは必要。
必要の場合、カッコ内にオプションを指定。

import naturalSort from 'natural-sort';

const items = ['host123', 'host54', 'host1', 'host12'];
items.sort(naturalSort());

[ 📩 ご意見 ]