#author("2023-12-28T10:08:27+09:00","default:nobuoki","nobuoki") #author("2023-12-28T10:10:01+09:00","default:nobuoki","nobuoki") * tl;dr [#o26c098d] #prism(bash){{{ sort -t'行中に現れない文字' -k1.ソート開始位置 sort -t'行中に現れない文字' -k1.ソート開始文字位置 }}} 具体例: ss コマンドでポートをlistenしているプロセスを出力し、grep で 50000番以上のポートを抽出後、ポート番号でソートして出力 #prism(bash){{{ $ 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)) ... }}} * 解説(sortコマンドのヘルプ抜粋) [#x82da71b] #pre(){{{ -t, --field-separator=SEP フィールド区切り文字として空白の代わりに SEP を使用する -k, --key=KEYDEF 指定されたキーでソートする。 KEYDEF では場所と並び替え種別を指定する KEYDEF は F[.C][OPTS][,F[.C][OPTS]] の書式で、開始位置と停止位置を指定します。 F はフィールド番号で、 C はフィールド内の文字位置です。 }}}