[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