J'ai eu un tas de fichiers avec le nom de fichier foiré. Tous les noms de fichiers ont le même début, qui semble être des répertoires de fichiers Windows. Le problème est qu'il y a plus de 700 fichiers et que je ne veux vraiment pas les renommer manuellement. Voici des exemples de noms de fichiers (Remarque: aucun d’entre eux n’a de répertoire de fichiers):
G:some\really\long\file\path\then\the\name1.jpg
G:some\really\long\file\path\then\the\name2.png
G:some\really\long\file\path\then\the\filename.txt
G:some\really\long\file\path\then\the\file_name.mov
...
Ce qu'il faut retenir, c'est que chaque fichier a G:some\really\long\file\path\then\the\
avant le nom de fichier souhaité.
Je voudrais donc que les fichiers ci-dessus ressemblent à:
name1.jpg
name2.png
filename.txt
file_name.mov
J'ai essayé la commande rename
et je n'ai pas réussi. Je suis encore nouveau avec Linux et je ne suis vraiment pas sûr de savoir comment s'y prendre ni de quoi google. Toute aide serait appréciée.
Je viens de tout supprimer jusqu'à la dernière barre oblique inverse avec rename
name__
$ rename -n 's/.*\\//' G*
rename(G:some\really\long\file\path\then\the\file_name.mov, file_name.mov)
rename(G:some\really\long\file\path\then\the\filename.txt, filename.txt)
rename(G:some\really\long\file\path\then\the\name1.jpg, name1.jpg)
rename(G:some\really\long\file\path\then\the\name2.png, name2.png)
Supprimez -n
après le test pour renommer les fichiers.
-n
ne fait rien, affiche juste ce qui sera changés/old/new
remplace old
par new
name__.*
n'importe quel nombre de caractères\\
La première barre oblique inversée est d'échapper à la seconde..*\\
mange également toutes les barres obliques inverses précédentes.//
sont vides, tout ce qui correspond dans la partie de recherche est supprimé.Vous pouvez le faire dans bash
à l’aide de extension du paramètre Shell .
${file##*\\}
(cut-up-to-last-last-prefix) supprime tout du début du nom du fichier jusqu'au dernier \
vu.
for file in *; do
mv -v "$file" "${file##*\\}";
done
Les résultats de renommer sont:
‘G:some\\really\\long\\file\\path\\then\\the\\file_name.mov’ -> ‘file_name.mov’
‘G:some\\really\\long\\file\\path\\then\\the\\filename.txt’ -> ‘filename.txt’
‘G:some\\really\\long\\file\\path\\then\\the\\name1.jpg’ -> ‘name1.jpg’
‘G:some\\really\\long\\file\\path\\then\\the\\name2.png’ -> ‘name2.png’
Si vous cherchez des solutions GUI, il existe de nombreuses applications de changement de nom en bloc. Je suggérerais Thunar, qui est le gestionnaire de fichiers par défaut pour Xfce. Il est livré avec un outil de renommage en masse très pratique. Vous pouvez installer Thunar en exécutant la commande suivante dans Terminal:
Sudo apt-get install thunar
Vous pourrez probablement également installer à partir du logiciel Ubuntu.
G:some\really\long\file\path\then\the\
(la partie dont vous souhaitez vous débarrasser), laissez le Remplacer par : case vide. Vous devriez voir un aperçu des modifications dans la colonne Nouveau nom .Outre Search & Replace , cet utilitaire prend en charge les actions suivantes: