[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] regexp et sed



...
> problème de regexp, dans les docs je vois souvent ecrit qu'en utilisant la
> notation [x-x] on selectionne tous les char entres deux x, mais quand j'essaie
> de l'utiliser je n'y arrive jamais... et là je craque :)
> 
> par exemple:
> xwininfo | grep 'id:' - | sed s/'xwininfo: Window id: '// - | sed s/[\"-\"]// -
> qui serait censé retourner l'id d'une fenêtre, et seulement son id
> et en fait ça retourne
> 
> 0x3800004 Eterm-0.8.10"

xwininfo|grep 'id:'|sed 's/^.*id: //;s/ .*$//'

fait l'affaire...

Ou plus court avec awk:
xwininfo|awk '/id:/ {print $4}'

> le dernier  '  s/[\"-\"]//g  ' ne fonctionne donc pas (comme je voudrais
> s'entend :)
> il retire seulement le 1ier "
Ah non, c'est toi qui a mal entendu ;-)

[a-z] signifie un caractère se trouvant dans abcdefghijkl...xyz

Ce que tu veux faire, c'est
s/\".*\"//
car .* signifie:
 . = n'importe quel caractère, suivi de
 * = de 0 à n fois (donc un nombre quelconque de fois, 0 compris)

--
  -o) / Pascal Bleser          ATOS Payment Systems|
  /\\ \ C++/UNIX Development        Aachen, Germany|
 _\_v  \<guru@linuxbe.org> <pbleser@atosorigin.com>|
---------------------------------------------------|
/earth is 98% full... please delete anyone you can.:
---------------------------------------------------'

[ Soyez précis dans vos sujets svp afin de déterminer directement  ]
[ le type de demande...                                            ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php     ]
[ http://LinuxBe.org              Contact: listmaster@linuxbe.org  ]