ソートコマンドヘルプ(数値)

ソートコマンドヘルプ(数値)

この出力があり、それをポートごとに数値順に並べ替えたいと思います(列35から始まり)。

tcp        0      0 192.168.0.210:110       0.0.0.0:*  LISTEN  3385/dovecot
tcp        0      0 192.168.0.210:143       0.0.0.0:*  LISTEN  3385/dovecot
tcp        0      0 192.168.0.210:22        0.0.0.0:*  LISTEN  2223/sshd
tcp        0      0 192.168.0.210:25        0.0.0.0:*  LISTEN  3589/master
tcp        0      0 192.168.0.210:443       0.0.0.0:*  LISTEN  2037/apache
tcp        0      0 192.168.0.210:587       0.0.0.0:*  LISTEN  3589/master
tcp        0      0 192.168.0.210:80        0.0.0.0:*  LISTEN  2037/apache
#                                 ^
#                                 Sorted at this column (#35)

したがって、新しい出力は次のようになります(最も低いポートから)。

tcp        0      0 192.168.0.210:22        0.0.0.0:*  LISTEN  2223/sshd
tcp        0      0 192.168.0.210:25        0.0.0.0:*  LISTEN  3589/master
tcp        0      0 192.168.0.210:80        0.0.0.0:*  LISTEN  2037/apache
tcp        0      0 192.168.0.210:110       0.0.0.0:*  LISTEN  3385/dovecot
tcp        0      0 192.168.0.210:143       0.0.0.0:*  LISTEN  3385/dovecot
tcp        0      0 192.168.0.210:443       0.0.0.0:*  LISTEN  2037/apache
tcp        0      0 192.168.0.210:587       0.0.0.0:*  LISTEN  3589/master
#                                 ^
#                                 Sorted at this column (#35)

私は以下を|sort含む他のすべての形式を試しました。

|sort -n         # <- I thought this would work
|sort -nk35
|sort -nk35,37

など。たぶん私が旗の目的を誤解したのではないでしょうか-k?それとも、そのコロンが仕事を台無しにしましたか?

ベストアンサー1

sortスペースで区切られたフィールドは必須です。ポートで並べ替えるには、フィールド区切り文字を変更する必要があります。

sort -t: -nk2 file

ここではフィールド区切り文字でsortこれについて話しています。:したがって、第2フィールドの最初の文字はポート番号であり、所望の方法でソートされる。

$ sort -t: -nk2 file
tcp        0      0 192.168.0.210:22        0.0.0.0:*  LISTEN  2223/sshd
tcp        0      0 192.168.0.210:25        0.0.0.0:*  LISTEN  3589/master
tcp        0      0 192.168.0.210:80        0.0.0.0:*  LISTEN  2037/apache
tcp        0      0 192.168.0.210:110       0.0.0.0:*  LISTEN  3385/dovecot
tcp        0      0 192.168.0.210:143       0.0.0.0:*  LISTEN  3385/dovecot
tcp        0      0 192.168.0.210:443       0.0.0.0:*  LISTEN  2037/apache
tcp        0      0 192.168.0.210:587       0.0.0.0:*  LISTEN  3589/master

おすすめ記事