cymcy : oui, et l’install est passée sans accrocs
myocastor => comment fais tu par exemple pour isoler PLUSIEURS sous chaines identiques dans une chaine. Tu l’as fais essentiellement lorsqu’il s’agit d’une occurence, mais quand il y a plusieurs sous chaines, comment faire ?
par exemple
titi<td>toto<td> => <td><td>
en fait en realité, dans une ligne, j’aimerais recuperer les les adresses
var="<tr><td class="newart" width=50%><a class=alb href="/artist/1000/H-Blockx/">H-Blockx</a></td><td class="newspace"> </td><td class="newart" width=50%><a class=alb href="/artist/1002/Herb_Alpert/">Herb Alpert</a></td><td class="newspace"> </td></tr><tr><td class="newart" width=50%><a class=alb href="/artist/1001/Hacker/">Hacker</a></td>
"
echo $bar me renverrait hhref="/artist/1000/H-Blockx/" href="/artist/1002/Herb_Alpert/" href="/artist/1001/Hacker/"
arf je suis deg thecastor ne traine plus depuis le 1er avril cette année. Je vais pas avoir de reponse de sa part
arf … je suis passé au perl ,
ce qui donnerait :
#!/usr/bin/perl
$var="<tr><td class=\"newart\" width=50%><a class=alb href=\"/artist/1000/H-Blockx/\">H-Blockx</a></td><td class=\"newspace\"> </td><td class=\"newart\" width=50%><a class=alb href=\"/artist/1002/Herb_Alpert/\">Herb Alpert</a></td><td class=\"newspace\"> </td></tr><tr><td class=\"newart\" width=50%><a class=alb href=\"/artist/1001/Hacker/\">Hacker</a></td>";
while ( $var =~ /(.*)(href=[^>]*)(.*)/gi ) {
print "$2 ";
$var = $1 . $3;
}
print "\n";
bon en bash …
#!/bin/sh
var="<tr><td class=\"newart\" width=50%><a class=alb href=\"/artist/1000/H-Blockx/\">H-Blockx</a></td><td class=\"newspace\"> </td><td class=\"newart\" width=50%><a class=alb href=\"/artist/1002/Herb_Alpert/\">Herb Alpert</a></td><td class=\"newspace\"> </td></tr><tr><td class=\"newart\" width=50%><a class=alb href=\"/artist/1001/Hacker/\">Hacker</a></td>"
i=1
while [ $i -ne 0 ] ; do
toto=`echo $var | sed "s/\(.*\)\(href=[^>]*\)\(.*\)/\1\3/" `
titi=`echo $var | sed "s/\(.*\)\(href=[^>]*\)\(.*\)/\2/" `
if [ "$toto" = "$titi" ]; then
i=0
else
echo $titi
fi
var="$toto"
done