정렬 명령 도움말(숫자)

정렬 명령 도움말(숫자)

이 출력이 있고 이를 포트별로 숫자순으로 정렬하고 싶습니다(열 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이에 대해 이야기하고 있습니다. :따라서 두 번째 필드의 첫 번째 문자는 포트 번호이며 원하는 방식으로 정렬됩니다.

$ 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

관련 정보