Доброго времени суток.
есть запись snmp:
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.70.0.34.33.29.3.255 = INTEGER: 28
Задача:
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.
- отрезать
70
- выделить в отдельный столбец
0.34.33.29.3.255
- это мак адрес в десятеричной системе нуже преобразовать в 16 и выделить в отдельный столбец
= INTEGER: 28
- убрать все кроме 28
и тоже поместить в отдельный столбец
в итоге получилось:
#!/bin/bash
x=`echo "SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.70.0.34.33.29.3.255 = INTEGER: 28" | sed -e 's|SNMPv2- SMI\:\:mib\-2\.17\.7\.1\.2\.2\.1\.2\.||g'| sed -e 's%\ \=\ INTEGER\:\ %|%g' |sed 's%\ %\n%g'`
echo -ne ${x%%'.'*}"\\t"
qwe=`echo ${x#*'.'}|sed -e "s|\.| |g"`
qwe=`echo ${qwe%'|'*}`
printf "%x\n" $qwe | tr -s '\n' ' '
echo -e "\\t ${x##*'|'}"
с выходныи данными:
70 0 22 21 1d 3 ff 28
очень интересует возможность вот такого преобразования:
0 22 21 1d 3 ff
> 00 22 21 1d 03 ff
и может есть способ сделать все это по проще ? Заранее благодарю.