ipcalc输出和grep。想只返回二进制输出

时间:2014-01-17 03:33:46

标签: linux bash shell sed awk

我有一个使用ipcalc的命令,它给了我这个输出。有没有办法使用sed或awk只显示二进制值?

homer@deusexmachina ~/Documents $ ipcalc 192.168.1.2 | grep Address
Address:   192.168.1.2          11000000.10101000.00000001. 00000010

这样输出如下所示:

11000000.10101000.00000001。 00000010

提前致谢。

2 个答案:

答案 0 :(得分:3)

您可以使用awk打印第3和第4列

 ipcalc 192.168.1.2 | awk '/Address/ {print $3,$4}'

您可以使用sed,但awk会更容易

ipcalc 192.168.1.2 | sed -n 's/Address: \+[^ ]\+ \+//p'

,因为您标记了linux,很可能是您的sed支持-r

ipcalc 192.168.1.2 | sed -r -n 's/Address: +[^ ]+ +//p'

答案 1 :(得分:0)

切割怎么样?

$ ipcalc 192.168.1.2 | grep Address | cut -d " " -f14-

或awk:

$ ipcalc 192.168.1.2 | awk   '{ if ($1 == "Address:") { print $3 $4 }}'