utilisation de sed

utilisation de sed - Codes et scripts - Linux et OS Alternatifs

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  :o  
 
Pouvez vous me donner un petit coup de main ?
 
Merci  :ange:


---------------
PSN : julien_fr38
Reply

Marsh Posté le 20-12-2005 à 17:43:09   

Reply

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  :whistle:


---------------
PSN : julien_fr38
Reply

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 :D


Message édité par sebchap le 20-12-2005 à 17:48:13
Reply

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 ;)


---------------
PSN : julien_fr38
Reply

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 :whistle:
edit: c'est pas que je veux pas utiliser sed hein :o :whistle:


Message édité par sebchap le 20-12-2005 à 17:51:21
Reply

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 :lol:


---------------
PSN : julien_fr38
Reply

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 :D

Reply

Marsh Posté le 21-12-2005 à 12:56:43    

sed 's/.*"\(.*\)".*/\1/' tonfichier.txt

Reply

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 ;)


---------------
PSN : julien_fr38
Reply

Marsh Posté le 22-12-2005 à 00:02:08    

Va vraiment falloir que je m'y mette moi  [:matleflou]

Reply

Marsh Posté le 22-12-2005 à 00:02:08   

Reply

Marsh Posté le 22-12-2005 à 01:59:05    

tsunamijf a écrit :

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 ;)


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.
 

Reply

Marsh Posté le 23-12-2005 à 19:23:47    

sebchap a écrit :

Va vraiment falloir que je m'y mette moi  [:matleflou]


 
 
Y'a un soft sous deb qui te fais des regexpr tout seul :o (pas que sous deb je suppose)
 
Mais je me souviens plus du nom :D

Message cité 1 fois
Message édité par M300A le 23-12-2005 à 19:24:11
Reply

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 :o (pas que sous deb je suppose)
 
Mais je me souviens plus du nom :D


 
kodos (en pyqt) et kregexpeditor (qt)

Reply

Marsh Posté le 23-12-2005 à 19:33:43    

[:petrus75]

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 :o
et je prefere kodos au vue des dependances :/


Message édité par sebchap le 23-12-2005 à 19:35:52
Reply

Marsh Posté le 23-12-2005 à 19:51:46    

Celui que j'ai vu etait en console, je demanderais au mec :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed