sort 사용할 때, ip 순서로 sort하려면..
글쓴이: 익명 사용자 / 작성시간: 월, 2001/10/22 - 1:16오전
프로그래밍 관련 질문이라고 하긴 좀 그렇지만,
그래도 쉘 스크립트^^;;; 라 할 수 있으니까 여기다 적습니다.
파일에 다음과 같이 ip address들이 주욱 있는데,,
----------------
211.47.123.145
147.46.80.1
61.123.44.15
......
----------------
이를 ip순서대로.. (0.0.0.0부터 255.255.255.255 순으로...)
출력하려면 어떻게 해야 하나요? (sort나 sed/awk 정도까지만 써서요...)
그냥 sort에 적당히 옵션 주면 될 줄 알았는데, 잘 안되네요 ^^
Forums:
Re: sort 사용할 때, ip 순서로 sort하려면..
sort의 -t와 -n을 이용하면 될것 같은데요..
$ cat data | sort -t \. -n
-t SEP use SEParator instead of non- to whitespace transition
-n compare according to string numerical value, imply -b
Re^2: sort 사용할 때, ip 순서로 sort하려면..
그렇게 해 봤는데요..
그렇게 하면 첫번째 field로만 sort되잖아요...
제가 원하는거는,
192.168.0.2
192.168.1.3
192.168.0.3
192.168.0.4
이렇게 있으면,
192.168.0.2
192.168.0.3
192.168.0.4
192.168.1.3
이렇게 나오도록.. ;-)
Re^3: sort 사용할 때, ip 순서로 sort하려면..
^^ man 을 활용하세요..
-k POS1[,POS2] start a key at POS1, end it *at* POS2 field numbers and
character offsets are numbered starting with one (contrast with zero-
based +POS form)
sort -t \. -n -k 1,4
Re^4: sort 사용할 때, ip 순서로 sort하려면..
말씀하신 방법을 쓰니 첫번째 필드만 숫자로 인식하는 것 같군요.
$ cat ip | sort -t \. -n -k 1,4
24.218.76.74
24.28.58.136
61.157.208.69
61.207.155.190
61.221.153.140
61.72.116.71
61.72.23.12
61.72.33.23
61.72.45.11
61.72.76.89
61.73.186.169
61.73.22.68
61.73.48.42
61.74.126.129
61.74.127.212
61.74.144.229
61.74.237.130
61.75.10.240
61.75.43.232
61.75.89.44
댓글 달기