Sustituya la subcadena por otra en los nombres de archivo

5

Tengo un montón de archivos con un nombre similar a este:

1_1.pngEND1_1.png

¿Cómo reemplazaría .pngEND con _ ?

He buscado en Google este problema y he intentado literalmente más de 5 soluciones, de las cuales no funcionó en mac.

    
pregunta sanjihan 12.04.2017 - 10:33

5 respuestas

8

Hay muchas maneras de hacer esto, por ejemplo

for i in *pngEND*.png; do [[ -e ${i/.pngEND/_} ]] || echo mv "$i" "${i/.pngEND/_}"; done

Elimine el echo si la salida parece sensata.

    
respondido por el nohillside 12.04.2017 - 10:55
14

A menos que necesite una solución que pueda usar en un script, puede hacerlo directamente en el Finder.

  • Seleccione los archivos que desea renombrar
  • Haga clic con el botón derecho en uno de ellos y elija Renombrar N elementos ... (donde N es el número de archivos seleccionados)
  • Elija la opción Reemplazar texto en el menú desplegable
  • Ingrese el texto que desea reemplazar (".pngEND") y el texto que desea reemplazarlo con ("_")
  • Haz clic en Cambiar nombre
respondido por el calum_b 12.04.2017 - 12:43
2

Si no está familiarizado con el terminal o los scripts, puede usar la aplicación mac llamada NameChanger (gratis usar). Puede cambiar casi todo en lote en nombres de archivo / extensiones de archivo.

    
respondido por el rwzdoorn 12.04.2017 - 12:57
1

Si tuviera que hacer esto, usaría comando de cambio de nombre disponible para instalar a través de HomeBrew .

Ejemplo:

Configuración:

mac:test user$ touch 1_1.pngEND1_1.png

mac:test user$ ls
1_1.pngEND1_1.png

Ejecutar comando de cambio de nombre:

mac:test user$ rename 's/\.pngEND/_/' *.pngEND*

Resultado:

mac:test user$ ls
1_1_1_1.png
    
respondido por el Adam Krouskop 12.04.2017 - 20:30
1

También he utilizado la herramienta perl rename con cierto éxito. También tiene una opción de ejecución en seco para que pueda probar antes de ejecutar los cambios.

    
respondido por el Pysis 12.04.2017 - 21:08

Lea otras preguntas en las etiquetas