Forum Linux.débutant Question de script

Posté par  .
Étiquettes : aucune
0
13
avr.
2007
Bonjour,

Je souhaite écrire un script qui réalise les choses suivantes:

je dispose d'un ensemble de fichiers dans un répertoire je désire les renommer en gardant les 8 premiers caractères + l'extension et ensuite les compresser avec un utilitaire zip.

Comment puis je réaliser cela?

Merci par avance
  • # quelques pistes non testées :

    Posté par  . Évalué à 0.

    Pour récupérer les 8 premiers caractères :
    cut -c 1-8
    Pour récupérer l'extension :
    cut -f 2 -d '.'
    Donc pour les renommer automatiquement :
    mv $file $(echo $file | cut -c1-8).$(echo $file | cut -f 2 -d '.')
    pour que ça fonctionne automatiquement sur tous tes fichiers :

    for file in 'ls *.txt'
    do
    newname=$(echo $file | cut -c1-8).$(echo $file | cut -f 2 -d '.')
    mv $file $newname
    zip $newname
    done

    Voilà, en espérant que ça aide.
    • [^] # Re: quelques pistes non testées :

      Posté par  . Évalué à 1.

      je me répond, car il peut y avoir un problème avec des fichiers comportant deux '.' dans le nom.
      exemple :
      si file=abcdefghjijk.lmn.opq
      ce que je donne ci-dessus ne fonctionnera pas.
      Par contre, en remplaçant
      $(echo $file | cut -f 2 -d '.')
      par
      $(echo $file | sed "s/\(.*\)\(\.\)\(.*\)$/.\3/")
      ça semble donner le résultat attendu.
  • # premier jet

    Posté par  . Évalué à 1.

    Un premier jet tappé comme ca, de mémoire :


    for file in *
    do
    $name = `echo $file | cut -b 1-8`
    $ext = `echo $file | cut -d '.' -f 1`
    mv $file ${name}.${ext}
    done
    gzip ./*


    Y a surement plus propre, mais je pense qu'un truc comme ca, aux erreurs de syntaxe pret, marche
  • # espace

    Posté par  . Évalué à 1.

    et on oublie pas de mettre $file entre " pour les noms contenant des espaces...
  • # RTFM?

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

    http://tldp.org/LDP/abs/html/

    man basename
    man cut
    man tr
    man gzip
    man tar

    Bref, parfois c'est bien de lire le cours avant de faire les tps...

Suivre le flux des commentaires

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