Bon alors le terme "réfléchir" était mal choisi...
Je voulais dire que ce genre de chose est assez basique tout de même et
qu'avec un peu de lecture on y arrive sans peine.

Oui ... et en lisant un peu plus loin, on se rend compte que le problème n'est pas si basique que ca. Par exemple : la solution sera totalement différente en fonction du volume de données a traiter.

Dans tous les cas, je crois lancer 2 fois cut n'était pas une bonne idée.

Voici 3 facons de faire ( 1 avec cut et 2 sans aucune commande externe )

> for f ( * ) { echo -e "\n\n$f ---------------\n" ; cat $f ;echo ; command time dash $f }


cut.sh ---------------

line='rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms
' | cut -d" " -f4 | cut -d"/" -f1 > /dev/null

0.00user 0.00system 0:00.01elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+461minor)pagefaults 0swaps


shellway2.sh ---------------

echo 'rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms' |
while IFS=' ' read rtt names equals values rest; do
    echo $values | while IFS='/' read mix avg max ; do
                echo min $mix > /dev/null
    done
done

0.00user 0.00system 0:00.00elapsed 83%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+227minor)pagefaults 0swaps


shellway.sh ---------------

line='rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma 200.289/37.388 ms'
vire_prefix=${line%ms, *}
final=${vire_prefix#*=}
echo $final | while IFS='/' read mix avg max ; do
        echo min $mix > /dev/null
done

0.00user 0.00system 0:00.00elapsed 75%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+189minor)pagefaults 0swaps



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à