J'essaie de comprendre comment renommer des fichiers depuis quelques heures.
J'ai 2000 fichiers qui sont comme ça:
file.1.pdb
file.2.pdb
file.3.pdb
Je voudrais renommer ces fichiers en quelque chose comme:
file.pdb.1
file.pdb.2
file.pdb.3
Si vous avez installé rename
, vous pouvez utiliser
rename -n 's/(\.\d+)\.pdb$/.pdb$1/' *.pdb # just watch what WOULD happen
rename 's/(\.\d+)\.pdb$/.pdb$1/' *.pdb # actually rename the files
La commande rename
peut être installée via
Sudo apt install rename
Utilisation de Perl rename
:
rename -n 's/(\.\d+)(\.pdb)/$2$1/' *.pdb
Explication rapide:
*.pdb
Correspond à tous les fichiers qui se terminent par .pdb
. (Fait par le coquillage)(\.\d+)
Faites correspondre un point littéral, puis un ou plusieurs chiffres décimaux. Les parens créent un groupe de correspondance.$2$1
Inverser les premier et deuxième groupes de correspondance.-n
Aucune action (simuler). Si le résultat est satisfaisant, exécutez à nouveau la commande sans cet indicateur.Grâce à mmv
(renommer plusieurs fichiers à l'aide de modèles génériques), rien de plus simple:
mmv '*.*.*' '#1.#3.#2' *.pdb
ou zmv
sur zsh
Shell; c'est un module qui permet de renommer; voir ZMV-Exemples :
zmv -w '*.*.*' '$1.$3.$2' *.pdb
Vous pouvez utiliser ce script:
for i in `seq 1 2000`; do
mv file.$i.pdb file.pdb.$i
done
Ou cette commande conviviale copier-coller:
for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done
Pour utiliser les commandes ci-dessus, mettez tous les 2000 fichiers dans un dossier, ouvrez le terminal dans ce répertoire, puis exécutez la commande ci-dessus.
Récemment, Nautilus, le gestionnaire de fichiers par défaut, a reçu une boîte de dialogue de changement de nom de lot. Ce n'est pas encore assez puissant pour faire ce que vous voulez. Mais heureusement, il existe Thunar, un autre gestionnaire de fichiers pouvant être installé. Avec thunars rename dialog, vous pouvez faire ce que vous voulez en utilisant l'interface graphique.
Première installation de thunar:
Sudo apt install thunar
Lancez thunar, accédez au répertoire contenant vos fichiers. Puis sélectionnez-les tous. presse F2.
Dans la boîte de dialogue qui s'ouvre, sélectionnez à nouveau tous les fichiers. Changez le mode en "Search & Replace" et en "Name & Suffix". Cochez "Expression régulière". Maintenant, utilisez les éléments suivants comme modèles de recherche et de remplacement:
file\.(.+)\.pdb
et
file.pdb.$1
Enfin, cliquez sur le bouton renommer.
L'avantage de cette méthode est que vous obtenez un aperçu visuel de ce qui se passera avant de renommer.
Vous pouvez utiliser rename
à partir de util-linux
pour cela (la commande s'appelle rename.ul
dans Ubuntu):
rename.ul .pdb '' *
rename.ul "file." "file.pdb." *
Cela supprime d'abord l'extension .pdb
de la fin puis la réinsère au milieu.