Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                                                                                            
                
        
我想通过ifconfig上的单个命令隔离某个Linux接口的IP,以将其用作命令中的参数。

以下命令正在运行:

ifconfig | grep -A1 docker | grep inet | cut -d ':' -f2 | cut -d ' ' -f1


但我想知道是否有更短更好的方法。



重要:它必须与任何欧洲语言配置一起使用。例如,ifconfig的西班牙语输出如下所示:

docker0   Link encap:Ethernet  direcciónHW 02:42:b2:ff:14:5b
          Direc. inet:172.17.0.1  Difus.:0.0.0.0  Másc:255.255.0.0
          Dirección inet6: fe80::42:b2ff:feff:145b/64 Alcance:Enlace
          ACTIVO DIFUSIÓN MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:12569 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:32629 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:0
          Bytes RX:698734 (698.7 KB)  TX bytes:46670727 (46.6 MB)

enp4s0    Link encap:Ethernet  direcciónHW f0:bf:97:57:17:17
          ACTIVO DIFUSIÓN MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000
          Bytes RX:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupción:18

lo        Link encap:Bucle local
          Direc. inet:127.0.0.1  Másc:255.0.0.0
          Dirección inet6: ::1/128 Alcance:Anfitrión
          ACTIVO BUCLE FUNCIONANDO  MTU:65536  Métrica:1
          Paquetes RX:3681 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:3681 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000
          Bytes RX:343046 (343.0 KB)  TX bytes:343046 (343.0 KB)

最佳答案

ifconfig docker |grep -oP 'inet:\K[^ ]+'
172.17.0.1


使用grep的-P标志启用perl正则表达式并环顾四周。

关于linux - 从ifconfig获取特定IP的最快捷方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46910806/

10-11 02:27