Extraire des expressions d'un fichier text ( en bash )

Résolu
master_29 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -  
master_29 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


J'aimerai extraire des expressions qui se trouve dans un fichier, et les mettre dans un tableau, le fichier est le suivant :
/*

<tr><td valign="top"><img src="/icons/sound2.gif" alt="[SND]"></td><td><a href="N0001.mp3">N0001.mp3</a></td><td align="right">02-Apr-2014 11:39 </td><td align="right"> 46K</td><td> </td></tr>
<tr><td valign="top"><img src="/icons/sound2.gif" alt="[SND]"></td><td><a href="N0017.mp3">N0017.mp3</a></td><td align="right">02-Apr-2014 12:56 </td><td align="right"> 51K</td><td> </td></tr>
<tr><td valign="top"><img src="/icons/sound2.gif" alt="[SND]"></td><td><a href="N0021.mp3">N0021.mp3</a></td><td align="right">02-Apr-2014 12:56 </td><td align="right">152K</td><td> </td></tr>
<tr><td valign="top"><img src="/icons/sound2.gif" alt="[SND]"></td><td><a href="N0022.mp3">N0022.mp

*/

et je veux récupérer les expressions "quelques chose .mp3" et les mettre dans un tableau avec ( grep et sed ).

J'ai vu dans autres postes qu'il avait des réponses à des trucs comme ça mais je ne connais pas la signification de certains symboles du coup j'ai pas pu le faire.

A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

$ cat brol 
/*

<tr><td valign="top"><img src="/icons/sound2.gif" alt="[SND]"></td><td><a href="N0001.mp3">N0001.mp3</a></td><td align="right">02-Apr-2014 11:39 </td><td align="right"> 46K</td><td> </td></tr>
<tr><td valign="top"><img src="/icons/sound2.gif" alt="[SND]"></td><td><a href="N0017.mp3">N0017.mp3</a></td><td align="right">02-Apr-2014 12:56 </td><td align="right"> 51K</td><td> </td></tr>
<tr><td valign="top"><img src="/icons/sound2.gif" alt="[SND]"></td><td><a href="N0021.mp3">N0021.mp3</a></td><td align="right">02-Apr-2014 12:56 </td><td align="right">152K</td><td> </td></tr>
<tr><td valign="top"><img src="/icons/sound2.gif" alt="[SND]"></td><td><a href="N0022.mp3">N0022.mp3</a></td><td align="right">02-Apr-2014 12:56 </td><td align="right">152K</td><td> </td></tr>

*/

$ mapfile -O 1 -t TAB < <(grep -Po '.*>\K[^<]*mp3' brol)

$ echo "${#TAB[@]}"
4

$ for ((i=1;i<=${#TAB[@]};i++)); do echo ${TAB[${i}]};done
N0001.mp3
N0017.mp3
N0021.mp3
N0022.mp3

$ echo "${TAB[2]}"
N0017.mp3

0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
variante avec grep
$ t=($(grep -oP '(?<=href=").*mp3(?=">)' fichier))
$ echo ${#t[@]}
4
$ echo ${t[@]}
N0001.mp3 N0017.mp3 N0021.mp3 N0022.mp3
$
0
master_29 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   12
 
Merci beaucoup les gars, j'ai réussi :)
0