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 Gyro Gearllose . Évalué à 0.
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 :
Voilà, en espérant que ça aide.
[^] # Re: quelques pistes non testées :
Posté par Gyro Gearllose . Évalué à 1.
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.
[^] # Re: quelques pistes non testées :
Posté par milounix . Évalué à 1.
# premier jet
Posté par Toto . Évalué à 1.
Y a surement plus propre, mais je pense qu'un truc comme ca, aux erreurs de syntaxe pret, marche
# espace
Posté par B. franck . Évalué à 1.
# RTFM?
Posté par Calim' Héros (site web personnel) . Évalué à 7.
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.