【发布时间】:2013-08-20 16:57:09
【问题描述】:
我正在尝试在 CentOS 6.4 上使用 Bash 来使用 AWK 检索附加到 IP 地址的网络接口名称。我有一些来自 Solaris 机器的命令,但我不确定如何将其转换为 Linux 输出。
命令如下所示:
ifconfig -a | awk '
$1 ~ /:/ {split($1,nic,":");
lastif=sprintf("%s:%s",nic[1],nic[2]);}
$2 == "'$1'" { print lastif ; exit; }
'
它是脚本的一部分,所以它需要像monitor.sh x.x.x.x y.y.y.y 这样的命令行参数,它使用第一个 x.x.x.x 来获取接口名称,然后使 $1 == $2 之后它可以 ping y.y.y.y。我猜想在 Solaris 中ifconfig -a 的输出与 CentOS 不同。如果 IP 和接口在同一行,我可以获得接口名称,但在 linux 中,它们在两条不同的行上。有任何想法吗。
【问题讨论】:
-
发布一些示例输入(到 awk 命令)和预期输出。
-
是的,我做了重复的帖子。我没有正确搜索,也没有看到那个答案。它确实对我有用。我也想尝试这些其他建议。