Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/06/2017, à 18: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, à 19:53)

Hors ligne

#2 Le 16/06/2017, à 19: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.

Hors ligne

#3 Le 16/06/2017, à 19: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, à 19: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, à 19: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, à 20: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, à 20:20)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 16/06/2017, à 20: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. sad


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#8 Le 16/06/2017, à 21: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 smile

Hors ligne

#9 Le 16/06/2017, à 21: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, à 22: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 smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne