IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Récupérer des liens dans un fichier texte


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 17
    Par défaut Récupérer des liens dans un fichier texte
    Bonjour,

    Tout d'abord, j'ai un fichier texte remplit de chaîne de caractères, et, parmi elles, se trouvent des liens commençant par http://, et finissant soit par .jpg soit par .png, et je souhaites donc les récupérer.

    Mes liens sont disposé aléatoirement dans le document, ne sont pas forcément en début ou en fin de ligne, et peuvent être sur deux lignes à la fois.

    Pour le moment, j'utilise cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\Julien>grep -o 'http://.*\.jpg' exemple1.txt
    Cette commande fonctionne et me permet de récupérer les liens commençant par http:// et finissant par .jpg tout en étant sur une seule ligne.

    J'ai testé divers méthodes trouvées sur le net, mais malheureusement je n'ai pas eu de résultats positifs.

    Mais j'aimerais faire ce que j'ai décrit plus haut en utilisant grep ou une autre commande si elle est plus appropriée.

    Je remercie par avance les personnes ayant une solution ou une piste de solution à me proposer.


    Edit :

    J'ai réussi à trouver comment faire pour avoir mes liens en .png et .jpg en une seule ligne de commande même si je pense qu'il y a moyen de faire plus propre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\Julien>grep -o 'http://.*\.jpg' exemple1.txt && grep -o 'http://.*\.png' exemple1.txt
    Par contre, je n'arrive toujours pas à récupérer les liens qui sont sur 2 lignes, et lorsque que mon fichier est trop gros (1393 lignes) la console ne me retourne aucun résultat.

    Si quelqu'un a des idées, qu'il n'hésite pas.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Citation Envoyé par Julien33400 Voir le message
    Mes liens sont disposé aléatoirement dans le document, ne sont pas forcément en début ou en fin de ligne et peuvent être sur deux lignes à la fois.
    Peut-on avoir un exemple concret de ce que tu appelles des liens sur deux lignes ?
    En gros affiche-nous un bout de ton fichier exemple1.txt avec tous les cas possibles.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 17
    Par défaut
    Merci de vouloir m'aider Zipe31.

    Voilà une partie du document :

    body{background:url
    (http://d2wb3jk3zoe588.cloudfront.net...wRRFond900.jpg) center 50px no-repeat #000;font-family:Tahoma,Geneva,sans-serif;margin:0px}.ensemble{width:auto;margin:2px
    auto auto;margin:2px
    auto 0px auto;font-size:12px;color:#56442E;text-align:center;backgroungdsgsdgegvdggsdgsd:url(http://d2wb3jk3zoe588.cloudfront.net/images/rr3d_mas(http://d2wb3jk3zoe588.cloudfront.net/images/newRRFond900.jpg)
    a{text-decoration:none;cursor:pointer}/*/*/.contenuGeneral{width:100%;display:inline-block}.cadre_interieur{height:auto;width:auto;position:relative;display:inline-
    block;width:950px;margin-left:-4px}.cadre_interieur .zonePubDroite, .cadre_interieur
    .espace_pub_contenu_2{display:none}.cadre_interieurPub .zonePubDroite, .cadre_interieurPub
    .espace_pub_contenu_2{display:inline-block}.cadre_interieurPub{width:1260px}.cadre_interieur
    .element{float:left;width:100%}.cadre_interieur
    J'ai parcouru vite fait le document et j'ai l'impression qu'il n'y a pas de liens sur deux lignes donc ce n'est pas le plus grave mais j'ai quand même mis en rouge ce à quoi je pensais car c'est toujours utile de savoir comment faire.

    Je ne sais pas si le contexte vous intéresse mais peut être que ce que je veux faire n'est pas possible donc je vais vous expliquez au cas où vous auriez une meilleure méthode ou si c'est impossible.
    Donc je suis sur une jeu de rôle qui s'appelle les royaumes renaissants (http://www.lesroyaumes.com), et j'occupe un poste d'adjoint à l'urbanisme, j'aimerais donc récupérer l'image de mon village afin d'en faire un cadastre.

    Ci dessous une capture d'écran :

    Nom : 451518Capture.png
Affichages : 1103
Taille : 109,6 Ko

    Lien montrant une vue plus détaillée de la capture : http://hpics.li/924ac32

    La carte est bien plus grande que ce que l'on voit sur la capture et l'on navigue dessus à l'aide de la souris.
    J'ai donc pensé que c'était une image classique à laquelle on avait ajouté des fonctionnalités (dynamique, interactif, etc...).
    Je me suis donc mis en tête de retrouver cette image et pour cela j'ai utilisé Firebug sur Firefox et j'en suis revenu à récupérer un lien contenant d'autres liens pointant vers des images.
    Voici le lien que j'ai récupéré : http://www.lesroyaumes.com/min/?g=cs...n&v=1398861713

    Voilà donc mon but final serait de récupérer l'image représentant mon village.
    Avis aux connaisseurs, est-ce que vous pensez que c'est possible ? ou alors je suis à côté de la plaque car je n'y connais pas grand chose aux interfaces web et toutes leurs rouages.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Re-

    Normalement grep -o 'http://[^)]*' fichier devrait faire l'affaire.

    Un aperçu du nombre de lien récupérés avec l'adresse fournie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ grep -o 'http://[^)]*' WG4bkKFe.css | wc -l
    788

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Peut être que cette syntaxe grep -Po '\(\Khttp://[^)]*' fichier serait plus appropriée, sous réserve que ton grep (sous Windows apparemment) accepte le -P

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour,

    Citation Envoyé par Monsieur Je-sais-tout
    Seules les images png t'intéressent car, contrairement à jpg, le format png gère la transparence, et est donc utilisable dans une vue 3D.
    Quant à la conduite (commande sur une ligne avec des pipes), tu pourrais la finir par un wget pour télécharger les-dites images (plus intéressantes que leur URL).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer des données dans un fichiers texte
    Par pitizone dans le forum Word
    Réponses: 1
    Dernier message: 10/04/2014, 15h49
  2. VBS, récupérer des valeurs dans un fichier texte
    Par hugodu13 dans le forum VBScript
    Réponses: 2
    Dernier message: 09/12/2010, 20h04
  3. Récupérer des données dans un fichier texte a part.
    Par morora69 dans le forum Général JavaScript
    Réponses: 40
    Dernier message: 17/06/2010, 09h54
  4. Réponses: 10
    Dernier message: 23/04/2007, 14h18
  5. Réponses: 2
    Dernier message: 16/01/2006, 19h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo