regex (+awk)
Karel Dudasek
karel.dudasek na vghur.army.cz
Úterý Březen 9 16:23:37 CET 2004
On Tue, 9 Mar 2004, Rybarik, Michal wrote:
> host1.name.net UP UP Tue Mar 9 07:59:59 2004 n/a
>
> hostname2.name.net DOWN(A) UP <none> Tue Mar 9 07:59:59 2004
> host3.name.net UP UP Tue Mar 9 07:59:59 2004 Tue Mar 9
> 07:59:59 2004
Zkusil jsem to v bashi. Vysledek je v priloze.
Karel Dudasek
e-mail: Karel.Dudasek na vghur.army.cz Karel.Dudasek na dobruska.cz
Spravce poc. site VGHUr Mirova 727
tel: +420 973 257 874 Cs. Odboje 518 01 Dobruska
fax: +420 973 257 620 518 16 Dobruska tel: +420 777 623 639
------------- další část ---------------
#!/bin/bash
while (true)
do
read -a aname
m=$?
if [ $m -ne 0 ]; then break; fi
hostn=${aname[0]};
stav1=${aname[1]};
stav2=${aname[2]};
cnt=3
AA="\${aname[$cnt]}";
zmena1=`eval echo $AA`;
zm=${zmena1##[MTWFS][uoehra][enduit]};
if [ -z "${zm}" ]; then
zmena1=`echo "${aname[3]} ${aname[4]} ${aname[5]} ${aname[6]} ${aname[7]}"`
cnt=8;
else
cnt=4;
fi
AA="\${aname[$cnt]}";
zmena2=`eval echo $AA`;
zm=${zmena2##[MTWFS][uoehra][enduit]};
if [ -z "${zm}" ]; then
AA="\${aname[$cnt]}";
zmena2=`eval echo $AA`;
cnt=`expr $cnt + 1`
AA="\${aname[$cnt]}";
zm2=`eval echo $AA`;
zmena2="${zmena2} ${zm2}"
cnt=`expr $cnt + 1`
AA="\${aname[$cnt]}";
zm2=`eval echo $AA`;
zmena2="${zmena2} ${zm2}"
cnt=`expr $cnt + 1`
AA="\${aname[$cnt]}";
zm2=`eval echo $AA`;
zmena2="${zmena2} ${zm2}"
cnt=`expr $cnt + 1`
AA="\${aname[$cnt]}";
zm2=`eval echo $AA`;
zmena2="${zmena2} ${zm2}"
fi
echo "${stav2} ... ${zmena1} -> ${zmena2}"
done <input.txt
Další informace o konferenci Linux