¿Cómo mostrar solo algunas columnas especificadas de la primera fila en cada bloque, es decir, formatear la salida de ifconfig?
Hay varias interfaces de red y al listarlas con ifconfig, me gustaría mantener solo el nombre de la interfaz y el MTU.
En otras palabras, cómo transformar algo así:
$ ifconfig
cali0a56gaa5a33: flags=4163<up,broadcast,running,multicast> mtu 8122
inet6 fe80::ecee:eeff:feee:eeee prefixlen 64 scopeid 0x20<link>
ether ee:ee:ee:ee:ee:ee txqueuelen 0 (Ethernet)
RX packets 12890 bytes 129366676 (129.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16107 bytes 129601562 (129.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
cali4edac9c332d: flags=4163<up,broadcast,running,multicast> mtu 8122
inet6 fe80::ecee:eeff:feee:eeee prefixlen 64 scopeid 0x20<link>
ether ee:ee:ee:ee:ee:ee txqueuelen 0 (Ethernet)
RX packets 111555 bytes 9806510 (9.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 148838 bytes 151003850 (151.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
en esto:
cali0a56gaa5a33: mtu 8122
cali4edac9c332d: mtu 8122
El comando $ ifconfig | awk ‘{ print $1 ” ” $3 ” ” $4 }’ hace parcialmente el trabajo: se muestra el MTU, pero también todas las filas con sangría.</up,broadcast,running,multicast></up,broadcast,running,multicast>
davy.ai
Para obtener la salida deseada, utilice el comando $ ifconfig | awk ‘/mtu/ { print $1 ” ” $3 ” ” $4 }’:
$ ifconfig | awk ‘/mtu/ { print $1 ” ” $3 ” ” $4 }’
cali0a56gaa5a33: mtu 8122
cali4edac9c332d: mtu 8122