Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1330 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

utilisation de sed

n°764194
tsunamijf
PSN : julien_fr38
Posté le 20-12-2005 à 17:43:09  profilanswer
 

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
mood
Publicité
Posté le 20-12-2005 à 17:43:09  profilanswer
 

n°764196
tsunamijf
PSN : julien_fr38
Posté le 20-12-2005 à 17:44:59  profilanswer
 

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
n°764197
sebchap
Share the knowledge
Posté le 20-12-2005 à 17:45:13  profilanswer
 

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
n°764199
tsunamijf
PSN : julien_fr38
Posté le 20-12-2005 à 17:48:06  profilanswer
 

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
n°764200
sebchap
Share the knowledge
Posté le 20-12-2005 à 17:50:36  profilanswer
 

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
n°764205
tsunamijf
PSN : julien_fr38
Posté le 20-12-2005 à 17:53:50  profilanswer
 

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
n°764208
sebchap
Share the knowledge
Posté le 20-12-2005 à 17:57:21  profilanswer
 

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

n°764360
Toucouch
Posté le 21-12-2005 à 12:56:43  profilanswer
 

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

n°764434
tsunamijf
PSN : julien_fr38
Posté le 21-12-2005 à 14:34:52  profilanswer
 

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
n°764637
sebchap
Share the knowledge
Posté le 22-12-2005 à 00:02:08  profilanswer
 

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

mood
Publicité
Posté le 22-12-2005 à 00:02:08  profilanswer
 

n°764655
Toucouch
Posté le 22-12-2005 à 01:59:05  profilanswer
 

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.
 

n°765206
M300A
Posté le 23-12-2005 à 19:23:47  profilanswer
 

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
n°765208
ory
Posté le 23-12-2005 à 19:32:41  profilanswer
 

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)

n°765209
sebchap
Share the knowledge
Posté le 23-12-2005 à 19:33:43  profilanswer
 

[: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
n°765215
M300A
Posté le 23-12-2005 à 19:51:46  profilanswer
 

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


Aller à :
Ajouter une réponse
 

Sujets relatifs
openoffice 2 : obliger l'utilisation d'un modèle prédéfinieutilisation d'apt ou synaptic avec apt-listbugs sous debian sid
configuration Exim4, utilisation d'un SMTP relaypb utilisation Proshow
Quel avantage posséde Debian sur Ubuntu pour une utilisation Desktop ?Problème utilisation Client Oracle et MySQL*plus
Utilisation de crontab pour planifier un script phpUtilisation d'un pipe sous SCO OS
Utilisation de tout l'écran impossible avec NVIDIA 420GOutilisation de Mplayer
Plus de sujets relatifs à : utilisation de sed


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR