Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何将输出格式化为";接口:IP地址“;从Mac上的ifconfig_Regex_Grep_Macos_Ifconfig - Fatal编程技术网

Regex 如何将输出格式化为";接口:IP地址“;从Mac上的ifconfig

Regex 如何将输出格式化为";接口:IP地址“;从Mac上的ifconfig,regex,grep,macos,ifconfig,Regex,Grep,Macos,Ifconfig,我正在尝试从ifconfig获取以下格式化输出: en0: 10.52.30.105 en1: 10.52.164.63 我至少能够通过以下命令了解如何仅获取IP地址(剔除本地主机),但这还不足以满足我的要求: ifconfig | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}' 谢谢 这适用于FreeBSD,它是苹果的核心:-) 在Debian/RHEL系统上,您可以执行以下操作--- 这并不是你问题的真正答案

我正在尝试从ifconfig获取以下格式化输出:

en0: 10.52.30.105
en1: 10.52.164.63
我至少能够通过以下命令了解如何仅获取IP地址(剔除本地主机),但这还不足以满足我的要求:

ifconfig  | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'

谢谢

这适用于FreeBSD,它是苹果的核心:-)


在Debian/RHEL系统上,您可以执行以下操作---


这并不是你问题的真正答案,但它可能会帮助你。你知道
ipconfig
?例如,试试
ipconfig getifaddr en1
ipconfig
在Mac上可用吗?@Jens打开一个终端并check@slayton我问这个问题是因为我没有mac电脑,但有一个FreeBSD系统,并且只知道作为Windows实用程序的
ipconfig
。@Frank:好。下一步是向上投票(单击左边数字上方的三角形)和/或通过单击下方三角形下方的复选标记“接受”答案。对延迟表示歉意。我接受了这个答案,很想投票支持它,但我还没有足够的“声誉”。
#!/bin/sh
for i in $(ifconfig -l); do
   case $i in
   (lo0)
      ;;
   (*)
      set -- $(ifconfig $i | grep "inet [1-9]")
      if test $# -gt 1; then
         echo $i: $2
      fi
   esac
done
#!/bin/sh
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

echo "Interface: IP : MASK : BROADCAST : HWADDR"

echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

for i in $(ifconfig -a| grep -v ^$| grep ^[a-z*] | awk '{print $1}')

do

     case $i in 

           (lo)
                   ;;

           (*)
         ip=`(/sbin/ifconfig $i | awk /'inet addr/ {print $2}' | cut -f2 -d":" )`
         bcast=`(/sbin/ifconfig $i | awk /'Bcast/ {print $3}' | cut -f2 -d":" )`
         mask=`(/sbin/ifconfig $i | awk /'inet addr/ {print $4}' | cut -f2 -d":" )`
         hwaddr=`(/sbin/ifconfig $i | awk /'HWaddr/ {print $4,$5}' | cut -f2 -d" " )`

         if [ -z $ip ]; then
            ip="NA"
         fi

         if [ -z $bcast ]; then
           bcast="NA"
         fi

         if [ -z $mask ]; then
           mask="NA"
         fi

         if [ -z $hwaddr ]; then
           hwaddr="NA"
         fi

            echo $i: $ip : $mask : $bcast : $hwaddr
            ;;

    esac
done