nutools/ipaddr

27 lines
624 B
Bash
Executable File

#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
# frontend pour 'ip addr' qui formatte l'affichage pour prendre moins de place
if [ -x /usr/bin/ip ]; then IP=/usr/bin/ip
elif [ -x /bin/ip ]; then IP=/bin/ip
else IP=ip
fi
tty -s <&1 && isatty=1 || isatty=
"$IP" addr "$@" | awk -v isatty="$isatty" '
isatty && $0 ~ /^[0-9]/ {
$0 = gensub(/: ([^:]+):/, ": \x1B[32m\\1\x1B[0m:", 1)
}
isatty && $1 == "inet" {
$0 = gensub(/inet ([^ ]+) /, "inet \x1B[34m\\1\x1B[0m ", 1)
}
{
if ($1 == "inet" || $1 == "inet6") {
printf "%s -- ", $0
getline
sub(/^ +/, "")
}
}
{ print }'