OVH Cloud OVH Cloud

Expression régulière

11 réponses
Avatar
Sylvain A.
Bonjour à tous,

Je n'ai jamais vraiment eu le temps de m'intéresser aux expressions
régulières, mais aujourd'hui j'aurais besoin d'extraire de cette ligne
(résultat d'un ping) les trois variables min avg et max :
rtt min/avg/max/mdev = 33.978/37.560/52.277/5.500 ms, ipg/ewma
200.289/37.388 ms

Evidemment, je ne sais pas faire ... je suis sûr que c'est le genre de
truc qui se fait en une petite ligne avec sed ou awk ... un bonne âme
pourrait-elle m'aider ?

--
Sylvain


--
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 debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

1 réponse

1 2
Avatar
Marc Chantreux
Salut,

le 24/10/2006,
rixed nous écrivait :

Ah bon ? Pourquoi ?



Ta reponse prouve que je n'ai pas reussi a faire passer mon message.

Pour faire court :

content | while read; do echo ${REPLY% *} ; done
content | cut -f1
content | awk '{ print $1 }'
content | sed 's/ .*//'
content | perl -F' ' -lane 'print $F[0]'

toutes sont des solutions valide. Le fait de choisir l'une ou l'autre
depend du volume de donnees a traiter.

MAL :
echo ma ligne | cut -f1
BIEN :
echo ma ligne | while read f1 rest; do
echo $f1
done
ZSH (tres bien ! ;-) ) :
read f1 reste <<< "ma ligne"

BIEN :
yes ma ligne | head -n1000 | cut -f1
# beaucoup de donnes a traiter, les forks valent le coup!
MAL :
yes ma ligne | head -n1000 | while read f1 rest; do $f1 ; done
# shell est mauvais dans le traitement des chaines.

--
téléphone : 03.90.24.00.19
courriel :
---------------------------------------
1 2