2011-10-18 3 views
0

je voudrais renommer ces fichiers pour ne pas avoir la fin de (.processed2011 *)Renommer les noms de fichiers multiples (suppression de la fin des noms de fichiers)

Donc, en gros, renommer

self_reported_user_activity_1404414367_131826464204632784.csv. processed20111011014111557
self_reported_user_activity_1404539338_131826361077732732.csv.processed20111011021401718 self_reported_user_activity_1404418376_131826222854532675.csv.processed20111011014301356
self_reported_user_activity_1404539858_131826370284032733.csv.processed2011101102143170 8

à

self_reported_user_activity_1404414367_131826464204632784.csv self_reported_user_activity_1404539338_131826361077732732.csv self_reported_user_activity_1404418376_131826222854532675.csv self_reported_user_activity_1404539858_131826370284032733.csv


Ma commande 'renommer' est la suivante (sans regex):

NOM renommage - Renommer des fichiers SYNOPSIS renommer dans un fichier ...

Merci

+1

http://theunixshell.blogspot.com/2013/01/bulk-renaming-of-files-in-unix.html – Vijay

Répondre

1

Je voudrais essayer d'utiliser la commande « couper ». Quelque chose comme ceci:

for f in * 
do 
    g=`cut -d"." -f2` 
    mv $f $g 
done 
0

Essayez ${string%substring} qui supprime le plus long match de substring à l'arrière de la chaîne. Donc, si line contient une self_...:

newline=${line%.*} 
Questions connexes