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 :

[Bash] curl et sed, valeurs nulles


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2016
    Messages : 10
    Par défaut [Bash] curl et sed, valeurs nulles
    Bonjour à tous,

    voila deux jours que j'essaye de faire fonctionner mon premier script.

    j'ai parcouru le forum en long en large et en travers, je n'ai pas réussi à trouver la réponse.

    Mon script n'affiche pas les valeurs nulles dans le fichier cible version.txt, du coup impossible pour moi de savoir (en comptant) quel est le résultat associé à la ligne de ma boucle. (J'obtiens par exemple 6 résultats pour 9 entrées)

    J'ai essayé des if dans la boucle for, je n'ai plus d'idée...

    Merci d'avance !

    PS : si au passage vous avez la solution d'apres, celle qui permet de reporter en csv dans une colonne le champ et dans l'autre le résultat associé, je vous offre un rein.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/bash
     
    sed -e 's/\.fr\/.*/.fr/' -e 's/\.com\/.*/.com/' -e 's/\.net\/.*/.net/' -e 's/\.org\/.*/.org/' -e 's/\.be\/.*/.be/' -e 's/\.info\/.*/.info/' -e 's/\.ch\/.*/.ch/' fichier.txt >> fichier2.txt
     
    for line in $(cat fichier2.txt)
    do curl -s "$line"/language/en-GB/en-GB.xml | grep 'version' | head -n 2  | sed '1d' | cut -d '"' -f 2 >> version.txt; done

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 358
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 358
    Par défaut
    Bonjour,

    Qu'appelles-tu une valeur nulle, le fait qu'il ne trouve pas 'version' ou le fait qu'il n'y a pas de valeur entre guillemet pour la version ?

    Sinon, pas testé, mais ton sed semble simplifiable par la syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e 's/\.\(fr\|com\|net\|org\|be\|info\|ch\)\/.*/.\1/'
    Je dis bien semble, car ici, il traitera le premier cas qu'il trouve et non pas dans l'ordre d'abord fr, ensuite com,...

  3. #3
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2016
    Messages : 10
    Par défaut
    Bonjour et merci Disedorgue pour ta réponse.

    Je vais tester le sed.

    Pour répondre à ta question, je pense qu'après le grep | head | sed | cut la valeur devient nulle car, en effet, il ne trouve pas la version.

    Pour moi le fait qu'il ne trouve pas la version, ce n'est pas grave, mais qu'il n'affiche pas NULL ou autre chose en guise d'erreur me dérange.

    Puisque la valeur n'existe pas ou n'est pas trouvée, il affiche la réponse de la ligne du dessous sur la ligne nulle, décalant ainsi toutes les réponses...

    Merci d'avance !

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 358
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 358
    Par défaut
    Si une ligne vide te va:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    do echo $(curl -s "$line"/language/en-GB/en-GB.xml | grep 'version' | head -n 2  | sed '1d' | cut -d '"' -f 2) >> version.txt; done

  5. #5
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2016
    Messages : 10
    Par défaut
    Disedorgue Merci infiniment !!!!

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Par défaut
    Salut,
    Je n'utilise pas curl mais quand je vois une ligne avec grep, head, sed et cut, je me dis qu'on peut certainement faire plus simple.
    simple n'est peut être pas le mot mais plus efficace ...
    Cordialement.

Discussions similaires

  1. requete avec la valeur NULL
    Par Hinkel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 12/11/2008, 16h39
  2. Passer une valeur Null dans un argument de procédure
    Par preempalver dans le forum VBA Access
    Réponses: 5
    Dernier message: 30/12/2003, 20h52
  3. Selectionner un champ de valeur nulle
    Par arcane dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/09/2003, 14h26
  4. [CR9] conversion de valeurs NULL
    Par ministry dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 12/09/2003, 11h41
  5. Valeurs Nulles ou Valeurs à Zéro
    Par LLaurent dans le forum XMLRAD
    Réponses: 5
    Dernier message: 30/07/2003, 11h40

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