Sed et plus si affinités :p - Page 2

Résolu
Précédent
  • 1
  • 2
bkrqpzef Messages postés 213 Statut Membre 5
 
Incroyable.
Ca fonctionne maintenant sur Cygwin... Alors j'avoue ne plus rien comprendre... (déjà que c'était pas terrible)
0
bkrqpzef Messages postés 213 Statut Membre 5
 
Code Mandriva (copié/collé cette fois)
[eriksen@localhost Bureau]$ cat page.html
<html>
<head></head>
<body>
<span>&#65533;"'(-&#65533;_&#65533;&#65533;)=^$&#65533;*iokl,;:</span>
<span class="classe">bob</span>
<div>&#65533;_&-"(&#65533;&#65533;&)"(&#65533;&#65533;&#65533;)</div>
<span class="classe">gilbert</span>
<span>$^m$^lsm)=&#65533;(&#65533;&#65533;</span>
<span class="classe">norbert</span>
<span>sqdsqdqdsqxc</span>
<div>xfpqozqighpin</div>
<p>$&#65533;qm*xqf&#65533;l</p>
</body>
[eriksen@localhost Bureau]$ sed -ns '\#<span class=.*</span><br/>#p' page.html
[eriksen@localhost Bureau]$

Le mystère reste entier ...
0
jipicy Messages postés 41342 Statut Modérateur 4 898
 
Le mystère reste entier ...
Je ne te le fais pas dire ;-\
0
bkrqpzef Messages postés 213 Statut Membre 5
 
Un grand merci à toi en tout cas. Tu viens de montrer que tu restes incollable sur sed. :p
Je ne pensais pas que cette commande pouvait être aussi importante. (Il se trouve que je vais en avoir besoin souvent)
Je vais travailler dessus ça a l'air vraiment trop pratique de s'y connaitre !!!
Merci encore et désolé pour ces mésaventures assez étranges...
0
bkrqpzef Messages postés 213 Statut Membre 5
 
Donc pour la postérité :
Réponse :
sed -ns '\#<span class=.*</span><br/>#p' page.html

Mais euh pas tout le temps et pas partout. A suivre... :p
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bkrqpzef Messages postés 213 Statut Membre 5
 
Bon il y a eu des complications........
Donc voilà, j'ai bidouillé sed pas mal et je viens de trouver mon bonheur avec :
sed -i '/classe/!d' *.*
(supprime toutes les lignes de tous les fichiers sauf celles où il y a "classe")
cat *.* > bkrqpzef
(concatène tous les fichiers dans un seul)

Par contre là je suis à la recherche de la même commande, mais qui serait capable d'avoir 2 exceptions.
Du style "classe" OU "bateau".
J'ai pensé rapidement à
sed -i '/classe/!d *.* && sed -i '/bateau/!d *.*

Mais euuuh il écrase à la première donc il ne reste pas de "bateau" alors en fait il enlève un peu tout...

Par exemple pour :
chaise
bateau
bob
classe

Comment garder "bateau" ET "classe".
Une idée svp ?
Merci :)
0
jipicy Messages postés 41342 Statut Modérateur 4 898
 
Re-

L'option -i n'est pas nécessaire ici dans la mesure où tu rediriges la sortie dans un fichier. En fait elle n'est utile que pour modifier le fichier source.
sed  '/classe\|bateau/!d' *.* > fichier
devrait faire l'affaire ;-))
0
bkrqpzef Messages postés 213 Statut Membre 5
 
Hooo.
C'est beau de voir quelqu'un qui maitrise. Plus grand, je serais comme toi !! :p
Merci encore.
0
Précédent
  • 1
  • 2