bash脚本来获取所有的IP地址 [英] Bash script to get all IP addresses

查看:188
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆