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 POSIX Discussion :

Fichiers à génération


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 53
    Par défaut Fichiers à génération
    Bonjour,

    J'ai un nombre X de fichiers nommés XXX.0001, XXX.0002... etc.

    Je dois régulièrement en recréer de nouveau en incrémentant le 000y à 000y+1. (de 0002 à 0003 etc ...)

    Comme il y a quand même beaucoup de fichiers, je voudrais le scripter et j'ai réussi à extraire le nombre dans une variable via cut.
    Pour la génération des nouveaux fichiers , il n'y a pas de problèmes non plus, la commande touch me suffit (je crée des fichiers vides).

    Le problème auquel je suis confronté et que je n'arrive pas à incrémenter de 1, je ne sais pas comment déclarer cette variable comme étant numérique.

    A savoir:
    Le nombre en question est toujours composé de 4 chiffres.
    Tous les fichiers portent le même numéro, si j'en modifie un , je les modifie tous.

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 53
    Par défaut
    Bonsoir,

    pour ce qui est d'isoler le dernier champ, j'en suis là
    jef@jef-ET2400E:~/test$ ls
    test toto.1 toto.2 toto.3
    jef@jef-ET2400E:~/test$ ls |awk -F "." '{print $2}'

    1
    2
    3
    je suis passé par awk plutôt que cut.

    Pour ce qui est de faire +1, j'en suis toujours au même point.
    Par contre , mes fichiers n'ont pas tous le me nombre de champs, il faut donc que je parte de la fin et non pas du début, le {print $2} n'est donc pas bon.

  3. #3
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par barbican82 Voir le message
    Le problème auquel je suis confronté et que je n'arrive pas à incrémenter de 1, je ne sais pas comment déclarer cette variable comme étant numérique.
    Quelle variable ?
    Tous les fichiers portent le même numéro, si j'en modifie un , je les modifie tous.
    ?? Là, je ne comprends plus ...

    Essaie de reposer le problème de façon plus claire et surtout explique ce que tu attends. Le deuxième post n'est pas cohérent avec le premier.

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 53
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    Quelle variable ?
    ?? Là, je ne comprends plus ...

    Essaie de reposer le problème de façon plus claire et surtout explique ce que tu attends. Le deuxième post n'est pas cohérent avec le premier.
    Bonjour,

    Effectivement, je ne suis peut-être pas très clair.

    Mes fichiers se terminent tous par un . suivi d'un chiffre.
    J'ai X fichiers dont les noms se terminent tous par le même chiffre (les toto dans mon deuxième post sont un mauvais exemple, il faudrait plutôt toto.1 titi.1 tutu.1)

    Le but est de permettre de créer automatiquement les toto.2, titi.2 et tutu.2 lorsque j'ai des fichiers .1.
    La fois d'après, on passe à .3 etc...

    J'ai réussi à isoler le 1 avec la commande awk, je cherche à les incrémenter de 1 à chaque passage du script.

    Ce que je cherche est quelque chose du style:

    avec awk, je trouve le chiffre en fin du nom de fichier, j'incrémente de 1, je récupère les noms de fichiers et rajoute le chiffre +1 et crée ensuite mes fichiers vides.

    exemple:
    ls
    toto.1
    titi.1
    tutu.1

    passage du script:
    ls
    toto.1
    toto.2
    titi.1
    titi.2
    tutu.1
    tutu.2

    J'espère avoir été plus clair.

  5. #5
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Hmm, c'est toto.1 ou toto.0001 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    next=$(printf "%04d" $(($(ls *.[0-9][0-9][0-9][0-9]|sed 's/^.*\.//'|sort -nu|tail -1)+1)))
    for name in $(ls *.[0-9][0-9][0-9][0-9]|sed 's/.....$//'|sort -u); do
       touch $name.$next
    done

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 53
    Par défaut
    Bonjour

    Merci jlliagre,

    Je n'ai pas tout saisi mais je vais tester ça lundi prochain et je te tiendrais au courant.

    les fichiers sont des toto.0001.

    Cordialement

  7. #7
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 53
    Par défaut
    Bonjour,

    j'ai enfin eu le temps de tester, tout fonctionne parfaitement.

    Comme j'ai beaucoup de fichier , j'a créé une liste et je fais une boucle sur ce fichier.

    Merci.

Discussions similaires

  1. Allocation d'un fichier génération
    Par a_karim_fr dans le forum z/OS
    Réponses: 4
    Dernier message: 10/09/2014, 11h01
  2. fichier à génération sous UNIX
    Par Dauge dans le forum AIX
    Réponses: 3
    Dernier message: 16/11/2009, 16h39
  3. [DBASE III] génération fichier indexation .ntx
    Par olivierlemee dans le forum Autres SGBD
    Réponses: 5
    Dernier message: 30/09/2005, 16h16
  4. [Fichier] génération format DOS
    Par Alexr dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 13/01/2005, 17h30
  5. Automatiser génération fichier PDF
    Par psyco2604 dans le forum ASP
    Réponses: 4
    Dernier message: 24/11/2004, 10h27

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