Δημοσιεύτηκε: 22 Μαρ 2013, 20:07
από simosx
lepidas έγραψε:έχω ένα φάκελο με περίπου 900 αρχεία filename.jpg.1 εώς filename.jpg.900
πως θα ήταν ένα σκριπτάκι που να τα έκανε
1filename.jpg
2filename.jpg
3filename.jpg
κλπ εως 900filename.jpg
δηλαδη να παρει το .### και να το κολλησει πριν τη λεξη filename (###filename.jpg)


Κώδικας: Επιλογή όλων
find . -name "filename.jpg.*" | awk -F. '{ printf "mv filename.jpg.%s %04d-filename.jpg\n", $4, $4 }'


Για κάθε όνομα αρχείου της παραπάνω μορφής, σπάει το όνομα βάσει της τελείας οπότε το $4 είναι το αριθμός, και τυπώνει την εντολή μετονομασίας όπου μετονομάζει τα ονόματα αρχείων στη μορφή %04d-filename.jpg. Εδώ, το %04d είναι μορφή για δεκαδικό (d), με τέσσερα ψηφία, όπου γεμίζει με μηδενικά ώστε το σύνολο να είναι 4 ψηφία. Αυτό είναι καλό ώστε όλα τα αρχεία να έχουν το ίδιο μέγεθος στο όνομα.