bash脚本来获取所有的IP地址 [英] Bash script to get all IP addresses
本文介绍了bash脚本来获取所有的IP地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图写一个庆典
脚本获取服务器上的所有IP地址。该脚本可以工作在所有主要的发行版。以下是我有:
I am trying to write a bash
script to get all IP addresses on a server. The script should work on all major distros. Here is what I have:
ifconfig | grep 'inet addr:' | awk {'print $2'}
致使
addr:10.1.2.3
addr:50.1.2.3
addr:127.0.0.1
我怎么能先删除地址:
preFIX?第二,我怎么可以排除 127.0.0.1
?
How can I first remove the addr:
prefix? Second, how I can exclude 127.0.0.1
?
推荐答案
有没有需要的grep
。下面是使用一种方法 AWK
:
There's no need for grep
. Here's one way using awk
:
仅列出地址:
ifconfig | awk -F "[: ]+" '/inet addr:/ { if ($4 != "127.0.0.1") print $4 }'
目录的设备和地址:
List device and addr:
ifconfig | awk -v RS="\n\n" '{ for (i=1; i<=NF; i++) if ($i == "inet" && $(i+1) ~ /^addr:/) address = substr($(i+1), 6); if (address != "127.0.0.1") printf "%s\t%s\n", $1, address }'
这篇关于bash脚本来获取所有的IP地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文