Transformador de direcciones MAC
Por si le resulta útil a alguien más.
Nombre de archivo: “bin/mac-trans.sh”.
#!/bin/sh
#Autor: Octavio Alvarez, alvarezp@alvarezp.ods.org.
#License: GPLv2.
if [ $# -ne 2 ]; then
echo
echo "usage: $0 output-format mac-string"
echo
echo "output-format is one of the following:"
echo " -c Cisco form : 0123.4567.89ab"
echo " -l Linux form : 01-23-45-67-89-AB"
echo " -w Windows form: 01:23:45:67:89:AB"
echo " -p Plain lower : 0123456789ab"
echo " -P Plain upper : 0123456789AB"
echo
echo "If the mac-string is not recognized, it is left unchanged."
echo
echo "Example: $0 -c 01-23-45-67-89-AB # Output is 0123.4567.89ab"
exit
fi
SEP='-.:'
while getopts "clwpP" OPT; do
case $OPT in
c) FORM='\1\2.\3\4.\5\6'
CASE='y/ABCDEF/abcdef/'
;;
l) FORM='\1-\2-\3-\4-\5-\6'
CASE='y/abcdef/ABCDEF/'
;;
w) FORM='\1:\2:\3:\4:\5:\6'
CASE='y/abcdef/ABCDEF/'
;;
p) FORM='\1\2\3\4\5\6'
CASE='y/ABCDEF/abcdef/'
;;
P) FORM='\1\2\3\4\5\6'
CASE='y/abcdef/ABCDEF/'
;;
esac
done
shift $(($OPTIND-1))
BYTE='([0-9A-Fa-f]{2})'
MAC_REGEX=$BYTE[$SEP]?$BYTE[$SEP]?$BYTE[$SEP]?$BYTE[$SEP]?$BYTE[$SEP]?$BYTE
echo $1 | sed -re "s/$MAC_REGEX/$FORM/; $CASE"

quiobo, si yo tambien quiero ver la pelicula de los transformers…