Forum Programmation.perl numerotation des fichiers de sortie

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
-5
12
juil.
2015

Salut a tous j'ai un code qui m'a casse la tete pendant plus d'une semaine e maintenant la numerotation des fichiers de sortie a un probleme qu'un peut-il bien m'aider.
les fichiers sont numerote de la sorte: ouput_0.csv, output_7.csv, output_14.csv,….
j'aimerai une nümerotation du genre ouput_0.csv, output_1.csv, output_2.csv,…. et non en multiple de 7.

resolu

  • # contribution

    Posté par  (site web personnel) . Évalué à 2.

    Quelle solution as-tu trouvée ?

    J'imagine que c'est ton programme qui genère les noms de fichier ?

    Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités

  • # en perl

    Posté par  . Évalué à 2.

    pour le nom de fichier (c'est du bash, donc soit avec cygwin si t'es sous windows, soit sous linux):

    \ls output_* | while read i
    do
      mv "$i" "$(perl -n  -e 's/([0-9]+)/int($1\/7)/e and print' <<< $i)"
    done
    
    # ou en pur bash
    \ls output_* | while IFS="_." read begin no ext
    do
      mv "${begin}_${no}.${ext}" "${begin}_$(($no/7)).${ext}"
    done
    
    #Que l'on peut simplifier
    en 
    
    \ls output_* | while IFS="_." read plop no plop
    do
      mv "output_${no}.csv" "output_$(($no/7)).csv"
    done

    mais ça peut aisément s'adapter dans le fichier qui génère le nom de fichier. Lorsque tu génère le nom output_…
    Il suffit de faire

    $outputFileEnfinLeNomQuiLuiEstDefini=~s/([0-9]+)/int($1\/7)/e;

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: en perl

      Posté par  . Évalué à -5.

      Merci bien de vos propositions , mais j'ai resolu le problem

      • [^] # Re: en perl

        Posté par  (site web personnel) . Évalué à 2.

        Comment ?

        C'était si moche que ça ?

        Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.