#1 Le 16/06/2017, à 17:52
- tarito
Extraire un lien d'un texte sur une même ligne
Bonjour à tous,
Malgré plusieurs recherches, je n'ai pas réussi à trouver la commande pour extraire des liens sur une même ligne. J'ai essayé avec la commande sed mais rien n'y fait, je ne récupère rien.
Je voudrais récupérer tous les liens contenant une image.
J'arrive bien à télécharger les liens en automatique, à concaténer le tout via une recherche pour les mettre dans un fichier et ensuite je récupère tous les lignes qui contienent le lien :
grep -io "/wp.*alt" cat.txt >> c.txt
j'obtiens un format de fichier comme ci-dessous :
/wp/uploads/2017-05.jpg alt="genial"></center><center><img src=/wp/2017-07.jpg alt="super"</center><center><img src=/wp/uploads/20179.jpg alt="mega>
Comment récupérer les liens qui contiennent le /wp/ et l'extension.jpg sur une même ligne ?
Merci d'avance pour votre aide
Dernière modification par tarito (Le 16/06/2017, à 18:53)
Hors ligne
#2 Le 16/06/2017, à 18:23
- Watael
Re : Extraire un lien d'un texte sur une même ligne
salut,
on préférerais partir du fichier d'origine, et que tu nous montres ce que tu souhaites obtenir.
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#3 Le 16/06/2017, à 18:44
- Hizoka
Re : Extraire un lien d'un texte sur une même ligne
Salut,
pas trop compris ce que tu voulais récupérer dans ton exemple, mets ce que tu veux en rouge histoire que ça ressorte et le mieux et de suivre le conseil de Watael.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#4 Le 16/06/2017, à 18:51
- tarito
Re : Extraire un lien d'un texte sur une même ligne
Hello;
Merci pour ton message, j'ai simplifié pour que ça soit plus clair.
Il n'y pas de fichier d'origine a proprement parlé, le but étant de récupérer tous les liens entre 2 deux champs d'un fichier, qu'il soit sur une ligne différente ou la même ligne.
Si tu veux un exemple, je peux te donner ce site :
https://www.qdtricks.net/technology-wal … Wallpapers.
le critère de début wp-content et de fin jpg.
Le but étant de l'adapter pour avoir un script qui permet de récupérer les informations d'un fichier avec 2 critères.
Merci.
Hors ligne
#5 Le 16/06/2017, à 18:59
- tarito
Re : Extraire un lien d'un texte sur une même ligne
Hello,
J'ai modifié, je ne sais pas si c'est plus clair comme cela ?
Le but avoué est d'éviter de devoir coder en c en devant gérer les positions pour récupérer les champs.
Merci.
Hors ligne
#6 Le 16/06/2017, à 19:17
- Hizoka
Re : Extraire un lien d'un texte sur une même ligne
Si il y a toujours 3 liens présentés de la même facon :
echo '/wp/uploads/2017-05.jpg alt="genial"></center><center><img src=/wp/2017-07.jpg alt="super"</center><center><img src=/wp/uploads/20179.jpg alt="mega>' | sed "s@\(/wp/[^ ]*.jpg\).*\(/wp/[^ ]*.jpg\).*\(/wp/[^ ]*.jpg\).*@\1 \2 \3@"
=> /wp/uploads/2017-05.jpg /wp/2017-07.jpg /wp/uploads/20179.jpg
donne plusieurs exemples si besoin.
echo '/wp/uploads/2017-05.jpg alt="genial"></center><center><img src=/wp/2017-07.jpg alt="super"</center><center><alt="mega>' | sed "s@ @\n@g; s@src=@@g" | egrep "^/"
/wp/uploads/2017-05.jpg
/wp/2017-07.jpg
Dernière modification par Hizoka (Le 16/06/2017, à 19:20)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#7 Le 16/06/2017, à 19:21
- Watael
Re : Extraire un lien d'un texte sur une même ligne
python + beautifulSoup
pour du HTML versatile, il n'y a pas mieux.
en shell, tu vas galérer à essayer de gérer tous les cas possibles.
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#8 Le 16/06/2017, à 20:07
- tarito
Re : Extraire un lien d'un texte sur une même ligne
Merci à tous les deux, je vais voir si il n'y a pas trop de variante dans des fichiers de tests et si c'est le cas je vais utiliser ta méthode Hizoka, sinon c'est partie pour du code avec la version de Watael.
Encore merci
Hors ligne
#9 Le 16/06/2017, à 20:52
- pingouinux
Re : Extraire un lien d'un texte sur une même ligne
Bonsoir,
Essaye ceci
grep -o '/wp[^ ]*\.jpg' <<<'/wp/uploads/2017-05.jpg alt="genial"></center><center><img src=/wp/2017-07.jpg alt="super"</center><center><img src=/wp/uploads/20179.jpg alt="mega>'
qui donne
/wp/uploads/2017-05.jpg
/wp/2017-07.jpg
/wp/uploads/20179.jpg
Hors ligne
#10 Le 16/06/2017, à 21:21
- Hizoka
Re : Extraire un lien d'un texte sur une même ligne
pas mal pingouinux, j'étais parti sur grep à la base mais j'ai du foiré un truc car je n'avais pas réussi
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne