[질문]ifconfig출력결과에서 sed로 ip 추출
글쓴이: soulk7 / 작성시간: 금, 2004/04/23 - 10:50오전
ifconfig ppp0하면
ppp0 Link encap:Point-Point Protocol
inet addr:218.145.87.212 P-t-P:61.82.143.30 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:2958 errors:0 dropped:0 overruns:0 frame:0
TX packets:2637 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:2133768 (2.0 MiB) TX bytes:298432 (291.4 kiB)
이런 결과가 나오는데 여기서 218.145.87.212를 sed를 사용하여 추출하고 싶은데 어떻게 해야 하나요?
답과 간단한 설명 좀 부탁드려요
Forums:
Re: [질문]ifconfig출력결과에서 sed로 ip 추출
http://bbs.kldp.org/viewtopic.php?t=33880&highlight=
여기를 살펴보세요.
여러가지 방법이 있으며, sed 로 구현한 것도 있습니다.
---
배려하는 마음을 갖자.
[code:1]/sbin/ifconfig | grep "inet
/sbin/ifconfig | grep "inet addr" | sed 's/inet addr:\([^ ]*\).*$/\1/g'
/s/RE/repl/g
주어진 입력에 포함된 RE(Regular Expression)에 match되는 모든 문자열을 repl로 바꿉니다.
RE에서 \( 와 \)로 싸인 부분은 Memory에 저장되어 repl을 기술할 때 \1, \2와 같이 사용할 수 있습니다.
Pattern에 기반해서 line 단위로 출력하는 작업에는 sed를 쓰지 말고 grep을 쓰라고 sed FAQ에 명시되어 있더군요. 8)
(할 줄 모르는데 귀찮아서 더 안찾아봤다는 얘기가 되는군요 :oops: )
참고: http://www.ptug.org/sed/sedfaq.htm
KISS...
Keep It Small and Simple
저도 한번 해봤습니다. POSIX regex를 써서.. 좀 길군요 :-(
저도 한번 해봤습니다. POSIX regex를 써서.. 좀 길군요 :-(
GNU sed입니다.
----
Let's shut up and code.
저도 한번 해봤습니다..졸작이라도 이해해주시길 ~ 정규식 초짜라서
저도 한번 해봤습니다..
졸작이라도 이해해주시길 ~ 정규식 초짜라서
/sbin/ifconfig | sed -ne 's/inet addr:\([0-9.]*\).*/\1/p;'
http://wiki.kldp.org/wiki.php/DocbookSgml/Sed-TRANS?goto=&=goto
' 형식이 내용을 규정한다. '
댓글 달기