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

Linux Discussion :

[bash]Supprimé une chaine avec une variable aléatoire


Sujet :

Linux

  1. #1
    Membre éprouvé
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Points : 928
    Points
    928
    Par défaut [bash]Supprimé une chaine avec une variable aléatoire
    Yop,
    Dans le cadre de ne recupperer qu'une partie d'un fichier je me trouve face au probléme suivant:
    j'ai une chaine de caracteres avec une variable dedans à supprimer, or cette variable change régulièrement (a chaque fois que le fichier de départ est recréé), et comme le script tourne en CRON je ne peux pas la recupérer manuellement. Or j'aurais besoin de l'identifier pour pouvoir la retirer de mon fichier.
    Par exemple pour le fichier 1
    class="prote88574">82.class="prote88574">12345.11
    class="prote88574">1.class="prote88574">12375.45
    class="prote88574">84.class="prote88574">17889.22
    a la fin je dois obtenir
    82.12345.11
    1.12375.45
    84.17889.22
    et pour le fichier 2
    class="prote15371">12.class="prote15371">12372.11
    class="prote15371">121.class="prote15371">9475.45
    class="prote15371">24.class="prote15371">1749.22
    a la fin je dois obtenir
    12.12372.11
    121.9475.45
    24.17889.22
    Quelqu'un aurait-il une idée
    @++

    Fkz

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Fichier "liste.txt" en entree :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class="prote88574">82.class="prote88574">12345.11
    class="prote88574">1.class="prote88574">12375.45
    class="prote88574">84.class="prote88574">17889.22 
    class="prote15371">12.class="prote15371">12372.11
    class="prote15371">121.class="prote15371">9475.45
    class="prote15371">24.class="prote15371">1749.22 
    truc>123.machin_chose>456.78
    titi="xxx">111.toto="zzz">222.33

    sed

    Voir regexp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while read line ; do
    	echo $line | sed 's#^[^>]*>\([[:digit:]]\+\.\)[^>]*>\(.*$\)#\1\2#' 
    done < liste.txt

    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    82.12345.11
    1.12375.45
    84.17889.22
    12.12372.11
    121.9475.45
    24.1749.22
    123.456.78
    111.222.33

  3. #3
    Membre éprouvé
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Points : 928
    Points
    928
    Par défaut
    Yop,
    Merci bcp BlaireauOne, cela fonctionne sans soucis, mais je reste un peu perplexe sur ta ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's#^[^>]*>\([[:digit:]]\+\.\)[^>]*>\(.*$\)#\1\2#'
    A vrai dire j'arrive pas trop à trouver la logique dedans (je suis perdu en gros)
    @++

    F-k-z

  4. #4
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Citation Envoyé par f-k-z
    Yop,
    A vrai dire j'arrive pas trop à trouver la logique dedans (je suis perdu en gros)
    @++
    F-k-z
    C'est pour ça que j'ai communiqué le lien qui pointe sur "Les expressions régulières"

  5. #5
    Membre éprouvé
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Points : 928
    Points
    928
    Par défaut
    je regarder cela plus en détails je pense et me faire des essais petits a petit ^^
    @++

    F-k-z

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 14h33
  4. Réponses: 3
    Dernier message: 18/03/2008, 15h28
  5. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 13h24

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