GNU SED 와 함께 배포되는 dc.sed라는 놀라운 스크립트가 있으나, 다음 예제를 한번 보십시요.
wolf@zizik.net]$ cat /etc/hosts 231.101.9.11 ulsan 울산 101 231.102.9.11 kangbyun 강변 102 231.104.9.11 world 월드 104 231.107.9.11 seohyun 서현 107 231.108.9.11 chungju 청주 108 231.109.9.11 kuri 구리 109 231.111.9.11 bupyung 부평 111 231.112.9.11 juyeup 주엽 112 231.113.9.11 daejun 대전 113 231.114.9.11 yeonsu 연수 114 231.115.9.11 chunan 천안 115 231.116.9.11 sangmu 상무 116 231.117.9.11 saha 사하 117 231.118.9.11 daegu 대구 118 3.7.23.107 kwanak 관악 119 3.7.23.232 pusan 부산 120 3.1.2.229 ilsan 일산 121 |
["산"이 들어가는 호스트만 찾아서 ip address 뽑아내기]
wolf@zizik.net]$ sed -n -e '/산/ s/\([0-9.]*\) *[a-z]* *\([^ ]*\).*/\2 =====> \1/p;' /etc/hosts 울산 =====> 231.101.9.11 부산 =====> 3.7.23.232 일산 =====> 3.1.2.229 |
[호스트 구리까지 읽고 소문자 abcde 를 대문자 ABCDE 로 바꾸고 밑줄 긋기, 호스트 대구까지 읽고 나머지 소문자를 대문자로 바꾸고 밑줄긋기, 마지막행까지 읽고 숫자(0-9)를 '숫자'로 바꾸고 밑줄긋기]
wolf@zizik.net]$ cat sample.sed H /kuri/ { g y/abcde/ABCDE/ a \ _______________________ p n h } /daegu/ { g y/fghijklmnopqrsutvwxyz/FGHIJKLMNOPQRSUTVWXYZ/ a \ _______________________ p n h } $ { g s/[0-9]/숫자/g a \ _______________________ p } wolf@zizik.net]$ sed -n -f sample.sed /etc/hosts 231.101.9.11 ulsAn 울산 101 231.102.9.11 kAngByun 강변 102 231.104.9.11 worlD 월드 104 231.107.9.11 sEohyun 서현 107 231.108.9.11 Chungju 청주 108 231.109.9.11 kuri 구리 109 _______________________ 231.111.9.11 bUPYUNG 부평 111 231.112.9.11 JUYeUP 주엽 112 231.113.9.11 daeJUN 대전 113 231.114.9.11 YeONSU 연수 114 231.115.9.11 cHUNaN 천안 115 231.116.9.11 SaNGMU 상무 116 231.117.9.11 SaHa 사하 117 231.118.9.11 daeGU 대구 118 _______________________ 숫자.숫자.숫자숫자.숫자숫자숫자 kwanak 관악 숫자숫자숫자 숫자.숫자.숫자숫자.숫자숫자숫자 pusan 부산 숫자숫자숫자 숫자.숫자.숫자.숫자숫자숫자 ilsan 일산 숫자숫자숫자 _______________________ |