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