|
|
|
|
Bonjour,
je souhaiterais pouvoir recuperer une partie du texte qui se trouve dans un fichier dont la structure est la suivante :
...
<td valign=top><b>TOPO_DOM</b></td>
<td valign=top nowrap><b><a href="/cgi-bin/sprot-ft-details.pl?Q14332@TOPO_DOM@24@247">24-247</a></b></td>
<td valign=top><b>224</b></td>
<td ><b>Extracellular (Potential)</b><br><tt>QFHGEKGISI PDHGFCQPIS IPLCTDIAYN QTIMPNLLGH TNQEDAGLEV HQFYPLVKVQ
CSPELRFFLC SMYAPVCTVL EQAIPPCRSI CERARQGCEA LMNKFGFQWP ERLRCEHFPR
HGAEQICVGQ NHSEDGAPAL LTTAPPPGLQ PGAGGTPGGP GGGGAPPRYA TLEHPFHCPR
VLKVPSYLSY KFLGERDCAA PCEPARPDGS MFFSQEETRF ARLW </tt></td>
</tr>
<tr bgcolor="#FFFFCC">
<td valign=top><input type=checkbox name=seq value=">Q14332|TRANSMEM_248-268 1 (Potential)
ILTWSVLCCASTFFTVTTYLV"></td>
<td valign=top><b>TRANSMEM</b></td>
<td valign=top nowrap><b><a href="/cgi-bin/sprot-ft-details.pl?Q14332@TRANSMEM@248@268">248-268</a></b></td>
<td valign=top><b>21</b></td>
<td ><b>1 (Potential)</b><br><tt>ILTWSVLCCA STFFTVTTYL V </tt></td>
</tr>
<tr bgcolor="#FFFFCC">
<td valign=top><input type=checkbox name=seq value=">Q14332|TOPO_DOM_269-279 Cytoplasmic (Potential)
DMQRFRYPERP"></td>
<td valign=top><b>TOPO_DOM</b></td>
...
La partie qui m'interesse est la chaine de caractere en majuscule située près de l'expression "Extracellular (Potential)", et qui se termine juste avant la balise "</tt>". comme elle est sur plusieurs lignes, je ne sais pas trop comment faire.
Merci de votre aide !
Configuration: Windows XP Internet Explorer 6.0
Salut,
#!/usr/bin/perl
use strict;use warnings;
while(<DATA>){print if /Extracellular/ ... /<\/tt/}
__END__
<td valign=top><b>TOPO_DOM</b></td>
<td valign=top nowrap><b><a href="/cgi-bin/sprot-ft-details.pl?Q14332@TOPO_DOM@24@247">24-247</a></b></td>
<td valign=top><b>224</b></td>
<td ><b>Extracellular (Potential)</b><br><tt>QFHGEKGISI PDHGFCQPIS IPLCTDIAYN QTIMPNLLGH TNQEDAGLEV HQFYPLVKVQ
CSPELRFFLC SMYAPVCTVL EQAIPPCRSI CERARQGCEA LMNKFGFQWP ERLRCEHFPR
HGAEQICVGQ NHSEDGAPAL LTTAPPPGLQ PGAGGTPGGP GGGGAPPRYA TLEHPFHCPR
VLKVPSYLSY KFLGERDCAA PCEPARPDGS MFFSQEETRF ARLW </tt></td>
</tr>
<tr bgcolor="#FFFFCC">
<td valign=top><input type=checkbox name=seq value=">Q14332|TRANSMEM_248-268 1 (Potential)
ILTWSVLCCASTFFTVTTYLV"></td>
<td valign=top><b>TRANSMEM</b></td>
<td valign=top nowrap><b><a href="/cgi-bin/sprot-ft-details.pl?Q14332@TRANSMEM@248@268">248-268</a></b></td>
<td valign=top><b>21</b></td>
<td ><b>1 (Potential)</b><br><tt>ILTWSVLCCA STFFTVTTYL V </tt></td>
</tr>
<tr bgcolor="#FFFFCC">
<td valign=top><input type=checkbox name=seq value=">Q14332|TOPO_DOM_269-279 Cytoplasmic (Potential)
DMQRFRYPERP"></td>
<td valign=top><b>TOPO_DOM</b></td>On obtiensroot@debian:~# perl ccm.pl <td ><b>Extracellular (Potential)</b><br><tt>QFHGEKGISI PDHGFCQPIS IPLCTDIAYN QTIMPNLLGH TNQEDAGLEV HQFYPLVKVQ CSPELRFFLC SMYAPVCTVL EQAIPPCRSI CERARQGCEA LMNKFGFQWP ERLRCEHFPR HGAEQICVGQ NHSEDGAPAL LTTAPPPGLQ PGAGGTPGGP GGGGAPPRYA TLEHPFHCPR VLKVPSYLSY KFLGERDCAA PCEPARPDGS MFFSQEETRF ARLW </tt></td>Il te reste à supprimer les balises de début est fin. Je n'ai pas le temps d'entrer dans les détails, je suis au boulot ;-) lami20j |
Tiens une autre version
#!/usr/bin/perl
use strict;use warnings;
my @tab;
while(<DATA>){push @tab,$_ if /Extracellular/ ... /<\/tt/}
grep { s/<.*?\/?>//g } @tab;
print "@tab\n";
__END__
<td valign=top><b>TOPO_DOM</b></td>
<td valign=top nowrap><b><a href="/cgi-bin/sprot-ft-details.pl?Q14332@TOPO_DOM@24@247">24-247</a></b></td>
<td valign=top><b>224</b></td>
<td ><b>Extracellular (Potential)</b><br><tt>QFHGEKGISI PDHGFCQPIS IPLCTDIAYN QTIMPNLLGH TNQEDAGLEV HQFYPLVKVQ
CSPELRFFLC SMYAPVCTVL EQAIPPCRSI CERARQGCEA LMNKFGFQWP ERLRCEHFPR
HGAEQICVGQ NHSEDGAPAL LTTAPPPGLQ PGAGGTPGGP GGGGAPPRYA TLEHPFHCPR
VLKVPSYLSY KFLGERDCAA PCEPARPDGS MFFSQEETRF ARLW </tt></td>
</tr>
<tr bgcolor="#FFFFCC">
<td valign=top><input type=checkbox name=seq value=">Q14332|TRANSMEM_248-268 1 (Potential)
ILTWSVLCCASTFFTVTTYLV"></td>
<td valign=top><b>TRANSMEM</b></td>
<td valign=top nowrap><b><a href="/cgi-bin/sprot-ft-details.pl?Q14332@TRANSMEM@248@268">248-268</a></b></td>
<td valign=top><b>21</b></td>
<td ><b>1 (Potential)</b><br><tt>ILTWSVLCCA STFFTVTTYL V </tt></td>
</tr>
<tr bgcolor="#FFFFCC">
<td valign=top><input type=checkbox name=seq value=">Q14332|TOPO_DOM_269-279 Cytoplasmic (Potential)
DMQRFRYPERP"></td>
<td valign=top><b>TOPO_DOM</b></td>
Le résultatroot@debian:~# perl ccm.pl Extracellular (Potential)QFHGEKGISI PDHGFCQPIS IPLCTDIAYN QTIMPNLLGH TNQEDAGLEV HQFYPLVKVQ CSPELRFFLC SMYAPVCTVL EQAIPPCRSI CERARQGCEA LMNKFGFQWP ERLRCEHFPR HGAEQICVGQ NHSEDGAPAL LTTAPPPGLQ PGAGGTPGGP GGGGAPPRYA TLEHPFHCPR VLKVPSYLSY KFLGERDCAA PCEPARPDGS MFFSQEETRF ARLW lami20j |