sed中匹配一行后,如何打印下一行?

sed中匹配一行后,如何打印下一行?

复制内容到剪贴板
代码:
[No.611 00:14:55 bash]$ cat myip.sh
#! /bin/bash
# show all ip addresses

interfaces=$(ifconfig | grep '^[[:alpha:]]' | awk '{print $1}')

for face in $interfaces;do
        echo -ne "$face\t"
        [B]ifconfig | sed -n '/'$face'/,$p' |  sed -n  '/'$face'/,2p'  | sed  '1d' | awk '{print $2}'[/B]
done

[No.612 00:14:59 bash]$ ./myip.sh
eth0    addr:192.168.0.99
lo      addr:127.0.0.1
ppp0    addr:221.11.170.55
RT
应该可以优化一下粗体行      
复制内容到剪贴板
代码:
[color=blue]-(user@host:tty)-(tmp)-
[3651 0] $ [/color]cat myip.sh
#! /bin/bash
# show all ip addresses

interfaces=$(ifconfig | grep '^[[:alpha:]]' | awk '{print $1}')

for face in $interfaces;do
    echo -ne "$face\t"
    ifconfig | [color=red]sed -ne "/$face/ { n; p; }"[/color] | awk '{ print $2; }'
done
[color=blue]-(user@host:tty)-(tmp)-
[3651 0] $ [/color]./myip.sh
eth0    addr:192.168.3.99
lo      addr:127.0.0.1
[color=blue]-(user@host:tty)-(tmp)-
[3651 0] $ [/color]
      
原来是分号。。。。。。。。
多谢dearvoid大大      
要用好 sed,最好研究一下它的"高级"用法       
一直没好好学三剑客
现在对perl很感兴趣
可惜没那么多时间学      
直接一句用awk就可以搞定myip.sh啊:
ifconfig | awk '/Link encap/{printf $1"\t"} /inet addr/{printf $2"\n"}'      
所以说我没好好学嘛。。。
赞一个      
[QUOTE=superkun]直接一句用awk就可以搞定myip.sh啊:
ifconfig | awk '/Link encap/{printf $1"\t"} /inet addr/{printf $2"\n"}'[/QUOTE]
复制内容到剪贴板
代码:
[No.239 22:41:51 huan]$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:4C:0A:31:B3
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:156258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:218361102 (208.2 MiB)  TX bytes:6674481 (6.3 MiB)
          Interrupt:11 Base address:0xc000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:221.11.159.134  P-t-P:221.11.159.254  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:155512 errors:0 dropped:0 overruns:0 frame:0
          TX packets:85407 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:214895078 (204.9 MiB)  TX bytes:4751117 (4.5 MiB)

[No.240 22:41:54 huan]$ myip
eth0    lo      addr:127.0.0.1
ppp0    addr:221.11.159.134
[No.241 22:42:28 huan]$
看来是要再改改。。。