From 1240287c78a50b7212305252045afa3b28499cab Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Thu, 14 Dec 2023 11:19:07 +0100 Subject: [PATCH] sys_interfaces_all --- etc/profile.d/sys.sh | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/etc/profile.d/sys.sh b/etc/profile.d/sys.sh index 7ae5242b..4f53b47d 100644 --- a/etc/profile.d/sys.sh +++ b/etc/profile.d/sys.sh @@ -190,33 +190,17 @@ sys_interfaces() { sys_interfaces_all | cut -f1 } -sys_interfaces_all2() { +sys_interfaces_all() { ip addr | awk '\ -BEGIN{name=mac=addr=""}\ -\ -match($0, /^[0-9]+: ([^:]+)/,m) && m[1] !~ /(^lo$)|@/ {\ +BEGIN{ name=mac=addr=""; }\ +function rec() {\ if (name) printf "%s\t%s\t%s\n", name, mac ,addr;\ name=mac=addr="";\ -name=m[1];\ -\ }\ +match($0, /^[0-9]+: ([^:]+)/,m) && m[1] !~ /(^lo$)|@/ {rec(); name=m[1];}\ match($0, /^ +link\/ether ([^ ]+)/,m) {mac=m[1]}\ match($0, /^ +inet ([^ \/]+)/,m) {addr=m[1]}\ -0 && name && mac && addr{print name"\t"mac"\t"addr; name=mac=addr=""}\ -; -' -} - -sys_interfaces_all() { - ip -d -j a | sed "s/ifindex/\nifindex/g" | awk '\ -BEGIN{i=0; j=0}\ -/"link_type":"loopback"/{next}\ -/"info_kind":"veth"/{next}\ -/"ifname":/{i++}\ -match($0, /"ifname":"([^"]+)"/, m) {printf "%s\t", m[1]}\ -match($0, /"address":"([^"]+)"/, m) {printf "%s\t", m[1]}\ -match($0, /"local":"([0-9\.]+)"/, m) {printf "%s", m[1]}\ -i!=0{print ""}\ +END{ rec() }\ ; ' } -- 2.47.3