Cómo cambiar el nombre de archivos eliminando el carácter "usando el shell de Linux

Cómo cambiar el nombre de archivos eliminando el carácter "usando el shell de Linux

Tengo varios archivos con comillas dobles en el nombre del archivo como este:

"Este_es_un_nombre_de_archivo_largo_con_comillas".mp3

Intento usar el comando de Linux para cambiar el nombre, puedo borrar el guión bajo fácilmente usando

rename 's/_//g' *

pero cuando intento con \" no pasa nada (uso -n para ver los cambios):

rename -n 's/\"//g' *

no se cambia nada

¡gracias!

Respuesta1

Tiene "comillas tipográficas" en los nombres de sus archivos:

“Tokyo_String_Quartet-Beethoven_-Late_String_Quartets-CD1-11-Quartet”.mp3 

Pruebe el renamecomando con los insertados en lugar de"

O sin usar renamepuedes hacer la sedopción:

for f in *.mp3
    do
        new=$(echo $f | sed -E 's/[“”]//g')
        mv $f $new
    done

Al igual que con todas las operaciones de shell por lotes, mvlo más seguro es probar/ejecutar en una copia de seguridad de la carpeta original... Puede probar colocándolo echoen el lugar mvdonde lo intentó por primera vez.

Respuesta2

No es necesario escapar de las comillas dobles dentro de las comillas simples.

rename -n 's/"//g' *

Respuesta3

Pude hacerlo en Bash con esto:

file=$(ls | grep \")
newName=$(echo $file | sed 's/\"//g')
mv $file $newName

información relacionada