[Shell] extraire chaine de caractere

koma_666 Messages postés 473 Statut Membre -  
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un fichier blabla.txt qui contient de nombreuses lignes similaires avec en début de fichiers d'autres chaines de caractères non similaires aux lignes suivantes :

<a target="_blank" id="alive_link" title="Name: atchoum Size: 153.1 MB " href="http://www.blabla.com/out.php?url=http://www.blibli.com/14AZz45"</a></p>

<a target="_blank" id="alive_link" title="Name: atchoum Size: 153.1 MB " href="http://www.blabla.com/out.php?url=http://www.blibli.com/14AZz46"</a></p>

Je souhaiterais extraire une partie de ligne, en l'occurrence, toutes les adresses : https://www.blibli.com/XXXXXXX

En utilisant un grep, cela me sélectionne bien ce que je veux, mais ca ne "supprime" pas le reste.

Une petite aide ?

Merci d'avance.
A voir également:

4 réponses

Franzux Messages postés 9705 Statut Contributeur 1 145
 
Colle nous la commande que tu saisis.
0
koma_666 Messages postés 473 Statut Membre 34
 
grep "https://www.blibli.com/[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]" blabla.txt
0
jisisv Messages postés 3678 Statut Modérateur 935
 
Inspire-toi de ceci
johand@osiris: ~/src/CCM/bash $ cat urls.txt  
<a target="_blank" id="alive_link" title="Name: atchoum Size: 153.1 MB " href="https://www.blibli.com/14AZz45 target='_blank'>http://www.blabla.com/out.php?url=https://www.blibli.com/14AZz45"</a></p> 

<a target="_blank" id="alive_link" title="Name: atchoum Size: 153.1 MB " href="https://www.blibli.com/14AZz46 target='_blank'>http://www.blabla.com/out.php?url=https://www.blibli.com/14AZz46"</a></p>  

johand@osiris: ~/src/CCM/bash $ cat getURLS.sh  
grep -i "https://www.blibli.com/[a-z0-9]*" urls.txt | while read line; do 
 tmp=${line##?*url=}; 
 url=${tmp%%\"?*}; 
 echo $url; 
done 

johand@osiris: ~/src/CCM/bash $ sh getURLS.sh  
https://www.blibli.com/14AZz45 
https://www.blibli.com/14AZz46 


Voir par exemple
http://abs.traduc.org/abs-fr/abs-5.3.pdf (page physique 96)

Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Salut,

$ cat plop 
<a target="_blank" id="alive_link" title="Name: atchoum Size: 153.1 MB " href="http://www.blabla.com/out.php?url=http://www.blibli.com/14AZz45"</a></p>

<a target="_blank" id="alive_link" title="Name: atchoum Size: 153.1 MB " href="http://www.blabla.com/out.php?url=http://www.blibli.com/14AZz46"</a></p> 

$ sed -n 's#.*url=\([^"]*\).*#\1#p' plop 
https://www.blibli.com/14AZz45
https://www.blibli.com/14AZz46

$

;-))
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Sinon juste avec "grep" on peut faire comme cela (mais il faut rajouter un pipe) :

grep -o '=http[^"]*' plop | grep -o 'h.*'
0