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 :

Regexpr sur les noms de fichiers, douleur, souffrance


Sujet :

Shell et commandes GNU

  1. #1
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 350
    Points
    4 350
    Par défaut Regexpr sur les noms de fichiers, douleur, souffrance
    Bonjour,

    je suis en train de faire un script sous ksh.
    J'ai un dossier avec des fichiers .i et .c
    Je cherche à vérifier que pour chaque fichier NOM_FICHIER.i, il existe un fichier NOM_FICHIER.c, et que dans ce fichier .c, on trouve la ligne
    #include "NOM_FICHIER.i"
    Le script pourra éventuellement être utilisé pour d'autre extensions de fichiers, mais ça je verrais plus tard.

    Mon script a un paramètre, le chemin du dossier dans lequel on doit faire la vérification (sans le / final).

    J'ai commencé petit, je veux d'abord juste vérifier que j'arrive à couper mon nom de fichier correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for i in ls $1/*.i
    do
    Objet = 'echo $i | sed "s/\(.*\)\.[a-z]+/\1/"'
    echo ${Objet}
    done
    En résultat en sortie, j'ai plein de :
    Je suppose que c'est ma regexpr qui n'est pas bonne, mais c'est ma première donc je rame un peu pour l'instant.

    Merci de votre aide.
    http://www.traducteur-sms.com/ On ne sait jamais quand il va servir, donc il faut toujours le garder sous la main

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ${YOUR_VARIABLE_NAME%YOUR_SEP*}
    renvoit tout ce qui est dans $YOUR_VARIABLE_NAME avant la dernière occurence du caractère YOUR_SEP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ${YOUR_VARIABLE_NAME#*YOUR_SEP}
    renvoit tout ce qui est dans $YOUR_VARIABLE_NAME après la première occurence du caractère YOUR_SEP

  3. #3
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 350
    Points
    4 350
    Par défaut
    La première solution fonctionne niquel, merci.
    J'avais un problème avec les espace dans mon affectation, merci un message qui a disparu du sujet depuis

    Pour info, mon script final ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for i in *.i
    do
      Objet=${i%\.*}
     
      grep \#include\ \"$i\" ${Objet}.c
      if [ $? -ne 0]; then
        echo "error in matching include"
        exit 1
      fi 
    done
    echo "all .i are included as should be
    http://www.traducteur-sms.com/ On ne sait jamais quand il va servir, donc il faut toujours le garder sous la main

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/07/2014, 08h11
  2. Boucle sur les noms de fichier d'un répertoire
    Par bilou_12 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/04/2012, 11h12
  3. Les accents sur les noms des fichiers passent mal
    Par fab53 dans le forum Langage
    Réponses: 3
    Dernier message: 04/01/2008, 15h05
  4. [DOM] Problème d'accent sur les noms de fichier avec mon parseur
    Par ujoodha dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 06/04/2006, 21h55
  5. [langage] Etendre les noms de fichier DOS
    Par jmartin dans le forum Langage
    Réponses: 4
    Dernier message: 13/07/2004, 13h32

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