Sed 如何将ifconfig输出连接到每个接口的一行
如何使用sed转换以下输出? 发件人: 但是没有运气!提前感谢您的帮助这有帮助吗(awk) 试验Sed 如何将ifconfig输出连接到每个接口的一行,sed,line,ifconfig,Sed,Line,Ifconfig,如何使用sed转换以下输出? 发件人: 但是没有运气!提前感谢您的帮助这有帮助吗(awk) 试验 kent$echo“lo0:flags=2001000849 mtu 8232索引1 inet 127.0.0.1网络掩码ff000000 igb0:标志=9040843 mtu 1500索引2 inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255 groupname mnic_data“|awk'/:/&&f{print”“}{printf”%s',$0;f=1}” lo0
kent$echo“lo0:flags=2001000849 mtu 8232索引1
inet 127.0.0.1网络掩码ff000000
igb0:标志=9040843 mtu 1500索引2
inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255
groupname mnic_data“|awk'/:/&&f{print”“}{printf”%s',$0;f=1}”
lo0:flags=2001000849 mtu 8232索引1 inet 127.0.0.1网络掩码ff000000
igb0:flags=9040843 mtu 1500索引2 inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255组名mnic_数据
这有帮助吗(awk)
试验
kent$echo“lo0:flags=2001000849 mtu 8232索引1
inet 127.0.0.1网络掩码ff000000
igb0:标志=9040843 mtu 1500索引2
inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255
groupname mnic_data“|awk'/:/&&f{print”“}{printf”%s',$0;f=1}”
lo0:flags=2001000849 mtu 8232索引1 inet 127.0.0.1网络掩码ff000000
igb0:flags=9040843 mtu 1500索引2 inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255组名mnic_数据
您可以尝试以下方法:
$ sed -e :a -e '$!N;s/\n / /;ta' -e 'P;D' inputfile
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255 groupname mnic_data
$sed-e:a-e'$!Ns/\n/;ta'-e'P;D'输入文件
lo0:flags=2001000849 mtu 8232索引1 inet 127.0.0.1网络掩码ff000000
igb0:flags=9040843 mtu 1500索引2 inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255组名mnic_数据
编辑:要消除上述输出中的多余空格,可以使用:
$ sed -e :a -e '$!N;s/\n\s\+/ /;ta' -e 'P;D' inputfile
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255 groupname mnic_data
$sed-e:a-e'$!Ns/\n\s\+/;ta'-e'P;D'输入文件
lo0:flags=2001000849 mtu 8232索引1 inet 127.0.0.1网络掩码ff000000
igb0:flags=9040843 mtu 1500索引2 inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255组名mnic_数据
您可以尝试以下方法:
$ sed -e :a -e '$!N;s/\n / /;ta' -e 'P;D' inputfile
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255 groupname mnic_data
$sed-e:a-e'$!Ns/\n/;ta'-e'P;D'输入文件
lo0:flags=2001000849 mtu 8232索引1 inet 127.0.0.1网络掩码ff000000
igb0:flags=9040843 mtu 1500索引2 inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255组名mnic_数据
编辑:要消除上述输出中的多余空格,可以使用:
$ sed -e :a -e '$!N;s/\n\s\+/ /;ta' -e 'P;D' inputfile
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255 groupname mnic_data
$sed-e:a-e'$!Ns/\n\s\+/;ta'-e'P;D'输入文件
lo0:flags=2001000849 mtu 8232索引1 inet 127.0.0.1网络掩码ff000000
igb0:flags=9040843 mtu 1500索引2 inet 10.1.1.1网络掩码FFFFFF 00广播10.1.1.255组名mnic_数据
如果ifconfig
发出ipv6地址或mac地址,它们将有冒号。如果ifconfig
发出ipv6地址或mac地址,它们将有冒号。
kent$ echo "lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255
groupname mnic_data"|awk '/:/&&f{print ""}{printf "%s", $0;f=1}'
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255 groupname mnic_data
$ sed -e :a -e '$!N;s/\n / /;ta' -e 'P;D' inputfile
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255 groupname mnic_data
$ sed -e :a -e '$!N;s/\n\s\+/ /;ta' -e 'P;D' inputfile
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000
igb0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255 groupname mnic_data
ifconfig |
awk '
FNR>1 && /^[^[:space:]]/ {print ""}
{printf "%s", $0}
END {print ""}
'