2011-08-29 5 views
0

je les fichiers nommés t1.txt, t2.tx t, t3.txt ... t4.txt et je besoin d'un script shell pour le renommer comme ceci:plusieurs fichiers à l'aide de renommer un script shell

fichier

un: M.m.1.1.1.201108290000.ready

fichier

deux : M.m.1.1.1.201108290001.ready

etc, le numéro de séquence dans les 4 derniers chiffres change.

Je serais reconnaissant si quelqu'un m'a aidé :)

Cordialement

+1

Quelle coque utilisez-vous? –

+1

Et qu'avez-vous essayé jusqu'à présent? –

+0

Avec une simple connaissance de bash, vous devriez être capable de le faire. –

Répondre

3

Cela pourrait être ce dont vous avez besoin:

cd /home/me/Desktop/files/renam/ 
n=201108290000 
for file in *.txt; do 
    echo $file 
    prefix=M.m.1.1.1. 
    file_name=M.m.1.1.1.$n.ready 
    echo $file_name 
    n=$(($n+1)) 
    mv $file $file_name 
done 

Il est proche de ce que vous vous aviez écrit, vous juste raté une syntaxe bash. Notez que vous pouvez vouloir changer la valeur initiale de n, sinon pour les fichiers que vous avez mentionnés t1.txt deviendraient M.m.1.1.1.201108290000.ready. En fonction de votre utilisation, cela peut prêter à confusion.

Je vous conseille également de ne pas utiliser les noms de programmes et de variables internes comme noms de variables, tels que seq dans votre cas.

Questions connexes