varios usuario tengo renombrar para nombre masivo mac directorio copiar comando cambiar archivos archivo administrador macos batch-file terminal

macos - usuario - renombrar directorio linux



¿Cómo puedo cambiar el nombre de los archivos usando la Terminal? (10)

Tengo un conjunto de archivos, todos ellos nnn.MP4.mov ¿cómo podría cambiarles el nombre para que solo sea nnn.mov ?


Acabo de utilizar con éxito Automator (la primera vez que me molesté), y funciona muy bien. Guardé la automatización como un servicio. Tardó unos 10 segundos en hacer algo fácilmente reutilizable:

  1. Abre Automator.
  2. Como tipo de documento, elija "Servicio".
  3. El servicio de cambio recibe "Texto" seleccionado para "archivos y carpetas".
  4. Considere cambiar "cualquier aplicación" solo a Finder.
  5. En la barra lateral, seleccione "Archivos y carpetas" (en Biblioteca) y desde las acciones enumeradas, en la columna central, arrastre "Cambiar nombre de elementos del buscador" al lado derecho y suéltelo dentro de "Arrastrar acciones o archivos aquí para crear su flujo de trabajo. "
  6. Cambia la acción que acabas de agregar desde "Agregar fecha u hora" a "Hacer secuencia".
  7. Haga clic en "Opciones" en la parte inferior de la acción y marque la opción "Mostrar esta acción cuando se ejecuta el flujo de trabajo".
  8. Pulse "CMD + S" para guardar el servicio como algo así como "Reemplazar texto" ..
  9. ¡Hecho!

Ahora puede hacer clic con el botón derecho en cualquier selección en Finder, ir al menú Servicio y seleccionar "Reemplazar texto", completar cómo desea que se modifique o reemplace el texto, y haga clic en "Continuar" para aplicar los cambios configurados.


En mac OSX puede instalar el comando de rename través de Homebrew: brew install rename

Luego puede cambiar el nombre utilizando Buscar / Reemplazar desde esa carpeta en la línea de comando:

rename ''s//.MP4/././'' *

También puede ver más opciones usando man rename .


OS X tiene un elemento de menú contextual Rename Files… que se invoca cuando selecciona dos o más archivos en Finder. Proporciona la misma función que la respuesta de Automator anterior. Aunque Automator te proporciona las herramientas para ir más lejos si lo deseas.

(Sé que OP pidió Terminal pero otras 33 personas respondieron como Automator)


Para probar imprimir la operación:

for file in *.MP4.mov; do j=`echo $file | cut -d . -f 1`;j=$j".mov";echo mv /"$file/" /"$j/"; done

Para que funcione:

for file in *.MP4.mov; do j=`echo $file | cut -d . -f 1`;j=$j".mov";mv "$file" "$j"; done


Primero, haga una ejecución en seco (no cambiará el nombre de ningún archivo) con lo siguiente:

for file in *.mov do echo mv "$file" "${file/MP4./}" done

Si todo parece ir bien, elimine el echo de la tercera línea para cambiar el nombre de los archivos.


vimv permite cambiar el nombre de varios archivos utilizando las capacidades de edición de texto de Vim.

Al ingresar a vimv se abre una ventana de Vim que enumera todos los archivos y puede hacer coincidencia de patrones, selección visual, etc. para editar los nombres. Después de salir de Vim, se cambiarán los nombres de los archivos.

[Descargo de responsabilidad: soy el autor de la herramienta]


for i in *; do j=`echo $i | cut -d . -f 1`; j=$j".mov"; mv $i $j; done

esto cortará todo antes del primer punto y anexa .mov

pero si algunos archivos son, por ejemplo, hi.2.mov y hi.1.mov, se sobrescribirá, así que úsalo con cuidado ^^


for i in `ls *png`;do echo mv $i "${i%%.*}"@xx."${i##*.}";done


for n in *.MP4.mov do mv $n $(echo $n | sed -e ''s/.MP4//'') done

Esto funcionará incluso en shells realmente antiguos que no tienen sustitución de parámetros, y al menos es un poco más legible para mis ojos.


ls -1 *.MP4.mov | while read f; do mv -i "$f" "$(basename /"$f/" .MP4.mov)"; done

Editar: completamente reescrito.