[Linux-31] renommer des fichiers

jpcas jpcas at free.fr
Sam 4 Avr 10:49:55 CEST 2015


Salut,

Une façon de faire parmi d'autres…
Ce n'est sûrement pas la plus jolie ni la plus optimisée ;-\

============================
Listage du répertoire
============================
$ ls -1v *.mts*
Fr3_shoa-04022015-2049.mts
Fr3_shoa-04022015-2049.mts2
Fr3_shoa-04022015-2049.mts12
Fr3_shoa-04022015-2049.mts16


============================
Le script
============================
$ cat script.sh
#! /bin/bash

while IFS="." read pref suf
do
nom="${pref}.${suf}"
suf1="${suf//[^[:alpha:]]/}"
suf2="${suf//[^[:digit:]]/}"
suf2="$(printf '%03d' ${suf2})"
mv -v "${nom}" "${pref}.${suf2}.${suf1}"
done < <(ls *.mts*)

============================
L'exécution
============================
$ ./script.sh
«Fr3_shoa-04022015-2049.mts» -> «Fr3_shoa-04022015-2049.000.mts»
«Fr3_shoa-04022015-2049.mts12» -> «Fr3_shoa-04022015-2049.012.mts»
«Fr3_shoa-04022015-2049.mts16» -> «Fr3_shoa-04022015-2049.016.mts»
«Fr3_shoa-04022015-2049.mts2» -> «Fr3_shoa-04022015-2049.002.mts»


============================
Le résultat
============================
$ ls -1v *.mts*
Fr3_shoa-04022015-2049.000.mts
Fr3_shoa-04022015-2049.002.mts
Fr3_shoa-04022015-2049.012.mts
Fr3_shoa-04022015-2049.016.mts



JP.



Le 03/04/2015 08:04, jdd a écrit :
> Bonour,
> 
> Je viens d'acheter un tuner HD pour ma petite télé qui ne capte pas les
> nouvelles chaines en HD.
> 
> j'ai, hier, enregistré "shoa" (9h).
> 
> cet appa    reil a une drôle de façon de nommer les fichiers:
> 
> 
> Fr3_shoa-04022015-2049.mts
> Fr3_shoa-04022015-2049.mts12
> Fr3_shoa-04022015-2049.mts16
> Fr3_shoa-04022015-2049.mts2
> (...)
> 
> l'ordre de vision est facile à trouver (par la date), mais je voudrais
> renommer les fichiers pour que mon lecteur les trouve.
> 
> Pour ça, il faudrait "normaliser" les chiffres pour qu'ils soient dans
> l'ordre naturel (001, 002... 025..), et ramener le chiffre *avant* le .mts
> 
> je suis un peu court en bash pour faire ça...
> 
> un coup de main?
> merci
> jdd



Plus d'informations sur la liste de diffusion Linux-31