#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 はフィールド内の文字位置です。
}}}


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS