utilisation de sed - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 20-12-2005 à 17:44:59
Je précise que j'aimerais, à l'aide de l'outil sed, n'afficher que ce qui est compris entre les guillemets
Marsh Posté le 20-12-2005 à 17:45:13
J'ai peut-etre mal compris, mais un cat fic|cut -d " " -f4,5 devrait faire l'affaire
edit: et puis si tu veux enlever les guillemets, tu rajoute |cut -d \" -f2
Marsh Posté le 20-12-2005 à 17:48:06
Merci pour ta réponse sebchap
ta solution ne doit pas marcher si le contenu de ce qui entre guillemet a plusieurs espaces.
J'ai oublié de le mentionner d'ailleurs :-)
Je peux trés bien avoir
"fsdf sfsdf"
"sdfsd sefsdf sdfsdfsd s sdf"
"sdf"
Je veux toujours afficher ce qui est entre guillemet
je cherche en meme temps, je vous rassure hein
Marsh Posté le 20-12-2005 à 17:50:36
Ah ok, bah dans ca cas, il y a aussi une solution qui marcherait a condition de ne pas avoir d'autre guillemets dans la ligne:
cat fic|cut -d \" -f2
edit: c'est pas que je veux pas utiliser sed hein
Marsh Posté le 20-12-2005 à 17:53:50
oui en partant du principe qu'il n'y aura pas d'autres guillemets, mais ca helas, je ne peux pas le prevoir
Marsh Posté le 20-12-2005 à 17:57:21
Ca te prendra le premier champs entre guillemets, ce n'est pas ca que tu veux ?
A part pour la substitution, je ne suis vraiment pas un specialiste de sed, dsl
Marsh Posté le 21-12-2005 à 14:34:52
roh merci Toucouch
j'etais dans le faux car j'etais bloqué avec ca :
sed 's/.\("."\)./\1/'
j'ai essayé ca aussi :
sed 's/.\(["].["]\)./\1/'
mais sans succès
Merci encore pour ton aide
Marsh Posté le 22-12-2005 à 00:02:08
ReplyMarsh Posté le 22-12-2005 à 01:59:05
tsunamijf a écrit : roh merci Toucouch |
Ton erreur vient du fait que tes points ne sont pas accompagnés de quantificateurs (comme: * \+ ou \? ) , donc le moteur de regex recherche un et un seul caractère quelconque, suivi d'un double guillement, d'un autre caractère quelconque unique, d'un second double-guillemet et enfin d'un troisième caractère quelconque unique. Ca ne marche donc que dans quelques cas.
De plus, dans tes expressions rationnelles, tu inclues les guillemets dans les parenthèses capturantes, donc le \1 te les ressortira.
Marsh Posté le 23-12-2005 à 19:23:47
sebchap a écrit : Va vraiment falloir que je m'y mette moi |
Y'a un soft sous deb qui te fais des regexpr tout seul (pas que sous deb je suppose)
Mais je me souviens plus du nom
Marsh Posté le 23-12-2005 à 19:32:41
M300A a écrit : Y'a un soft sous deb qui te fais des regexpr tout seul (pas que sous deb je suppose) |
kodos (en pyqt) et kregexpeditor (qt)
Marsh Posté le 23-12-2005 à 19:33:43
Citation : kregexpeditor - graphical regular expression editor plugin for KDE |
peut-etre ?
Mais sinon il y a toujours la doc sur le net, j'ai l'habitude
grilled
et je prefere kodos au vue des dependances
Marsh Posté le 23-12-2005 à 19:51:46
Celui que j'ai vu etait en console, je demanderais au mec
Marsh Posté le 20-12-2005 à 17:43:09
Bonsoir,
J'ai un fichier contenant plusieurs lignes.
Elles sont de type
abc def ghi "ttt eee"
J'aimerais pouvoir afficher ce qui entre les guillemets
Je n'arrive pas à trouver la solution avec sed
Pouvez vous me donner un petit coup de main ?
Merci
---------------
PSN : julien_fr38