2 votes

bash, fichiers, renommer des fichiers, positions de commutation

Comment renommer

sluno-20201027-call-metroua-status.mp4
sluno-20201103-call-deriva.mp4
sluno-20201103-call-metroua-status.mp4
sluno-20201105-call-makrocz.mp4
sluno-20201105-call-metroua-testcall.mp4
sluno-20201105-call-sluno-ggtabak.mp4
sluno-20201110-call-makrocz.mp4
sluno-20201110-call-metroua-status.mp4
sluno-20201110-call-sluno-utccz.mp4

à

sluno-call-metroua-status-20201027.mp4
sluno-call-deriva-20201103.mp4
sluno-call-metroua-status-20201103.mp4
sluno-call-makrocz-20201105.mp4
...

Déplacer simplement la date/chaîne de caractères sur la position 7-14 à la fin du nom du fichier.

Gracias.

7voto

bac0n Points 4841

Mmv fonctionne bien pour les fichiers simples renommer .

mmv '*-*-*-*.mp4' '#1-#3-#4-#2.mp4'

Il peut également être utile d'avoir quelques points de référence supplémentaires pour être sûr de ne pas changer le nom sur quelque chose d'autre, en particulier lorsqu'il peut y avoir d'autres fichiers dans le même répertoire.

mmv 'sluno-[0-9]*-call-[a-z]*.mp4' 'sluno-call-#3#4-#1#2.mp4'
             ^  ^        ^  ^
             1  2        3  4

sluno-20201027-call-metroua-status.mp4
      ^-------      ^-------------
      1   2         3       4

Si je devais le faire avec le strict minimum, mv y bash J'opterais pour une boucle "for" et bash correspondance BRE intégrée.

for i in *.mp4; do \
    [[ $i =~ ^sluno-(.*)-call-(.*).mp4 ]] && \
    mv -- "$i" "sluno-call-${BASH_REMATCH[2]}-${BASH_REMATCH[1]}.mp4"; \
done

4voto

pLumo Points 23269

Utilice rename :

rename -n 's/^(.*?)-(.*?)-(.*?)(\.mp4)$/$1-$3-$2$4/' *.mp4

Retirer le -n si vous êtes satisfait du résultat.

Pour plus d'explications, consultez le site este .

0voto

JohnP Points 673

Autre option :

$ qmv {pattern}

déposera 2 colonnes de noms de fichiers dans l'éditeur de votre choix.

Modifiez la colonne de droite pour qu'elle contienne les noms de fichiers souhaités.

La colonne de gauche est le nom original. La colonne de départ du groupe de droite ne peut pas être modifiée, de sorte que l'enroulement automatique peut être gênant.

Entre les mains d'un expert de chaque éditeur, cela peut être extrêmement rapide, en particulier pour les modes colonne et visuel de vim.

En général, j'utilise renommer, mais pour des besoins complexes, il est agréable de voir les noms exacts dans l'éditeur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X