He estado organizando mucho mis archivos usando comandos de terminal (principalmente para educación terminal adicional). He aprendido sobre el cambio de nombre masivo en el terminal, por ej. reemplazando todos los guiones bajos con espacios, cambios de mayúsculas, etc.
Lo que estoy tratando de hacer ahora es insertar un carácter, o conjunto de caracteres, ya sea en un lugar específico en el nombre del archivo o condicionalmente.
Esencialmente, estoy tratando de agregar un guión "-" entre el número de pista y el título de una lista de archivos de audio.
Entonces, donde tengo:
"01 First Track.mp3"
"02 Second Song Title.mp3"
"03 Third.mp3"
"04 Cuarto y Final One.mp3"
Me gustaría reemplazar "" en la tercera posición para que sea "-", dejando:
"01 - First Track.mp3"
"02 - Second Song Title.mp3"
"03 - Tercera Cosa.mp3"
"04 - Cuarto y Final One.mp3"
¿Hay una manera de agregar un carácter condicionalmente? Diga, compruebe un número (algo entre 0-9) y reemplace el carácter directamente después por otro carácter. Lógicamente: para i en *; si $ i === "0-9" y + === "reemplaza + con" - ".... ¿algo así?
Alternativamente, ¿podría simplemente apuntar a la tercera posición del nombre de archivo e insertar "-"?
El problema con simplemente reemplazar TODOS "" con "-" es que esto reemplazaría cada espacio en el nombre del archivo con un guión.
¿Quizás hay una manera de considerar solo la primera instancia del "" nombre del archivo e ignorar las instancias posteriores?
Pero me gustaría saber si hay una manera de reemplazar los caracteres condicionalmente.
He estado buscando en Google con:
"Terminal masivo reemplazar carácter condicional"
"Unix batch file name conditional"
y similares, pero hasta el momento solo se ha encontrado la eliminación / reemplazo de caracteres, o simplemente la adición (es decir, reemplazar todas las X por Y, o para cada archivo, agregue un número secuencial al principio).
Muchas gracias.