sort -t'行中に現れない文字' -k1.ソート開始文字位置
具体例: ss コマンドでポートをlistenしているプロセスを出力し、grep で 50000番以上のポートを抽出後、ポート番号でソートして出力
$ sudo ss -ltpn | grep -P ':5\d{4}' | sort -t_ -k1.37
LISTEN 0 128 192.168.10.155:50066 0.0.0.0:* users:(("ssh",pid=754308,fd=8))
LISTEN 0 4096 [::]:50080 [::]:* users:(("docker-proxy",pid=2017,fd=4))
LISTEN 0 4096 0.0.0.0:50080 0.0.0.0:* users:(("docker-proxy",pid=2011,fd=4))
LISTEN 0 128 [::1]:50155 [::]:* users:(("ssh",pid=3000008,fd=4))
LISTEN 0 128 127.0.0.1:50155 0.0.0.0:* users:(("ssh",pid=3000008,fd=5))
...
-t, --field-separator=SEP フィールド区切り文字として空白の代わりに SEP を使用する -k, --key=KEYDEF 指定されたキーでソートする。 KEYDEF では場所と並び替え種別を指定する KEYDEF は F[.C][OPTS][,F[.C][OPTS]] の書式で、開始位置と停止位置を指定します。 F はフィールド番号で、 C はフィールド内の文字位置です。