bash, archivos, renombrar archivos, cambiar posiciones

Dec 22 2020

Cómo cambiar el nombre

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

a

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

Simplemente mueva la fecha / cadena en la posición 7-14al final del nombre del archivo.

Gracias.

Respuestas

7 bac0n Dec 22 2020 at 22:04

mmv funciona bien para cambiar el nombre de archivos sin complicaciones .

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

También puede ser útil tener algunos puntos de referencia más para asegurarse de no cambiar el nombre en otra cosa, especialmente cuando puede haber otros archivos en el mismo directorio.

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 tuviera que hacerlo con el mínimo, mvy bashme gustaría ir con un bucle de e bashincorporado BRE a juego.

for i in *.mp4; do \
    [[ $i =~ ^sluno-(.*)-call-(.*).mp4 ]] && \ mv -- "$i" "sluno-call-${BASH_REMATCH[2]}-${BASH_REMATCH[1]}.mp4"; \
done
4 pLumo Dec 22 2020 at 20:46

Utilizar rename:

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

Elimine el -nsi está satisfecho con la salida.

Para obtener una explicación, visite este .

JohnP Dec 30 2020 at 01:47

Otra opción:

$ qmv {patrón}

colocará 2 columnas de nombres de archivo en el editor de su elección.

Modifique la columna de la derecha para tener los nombres de archivo que desee.

La columna de la izquierda es el nombre original. La columna de inicio del grupo de la derecha no se puede cambiar, por lo que el ajuste automático puede interferir.

En manos de un experto con cada editor, esto puede ser increíblemente rápido, especialmente para los modos visual y de columna vim.

En general, uso el cambio de nombre, pero para necesidades complejas, ver los nombres exactos en el editor es bueno.