Error con el comando de cambio de nombre

Error con el comando de cambio de nombre

Tengo un problema para cambiar el nombre del siguiente archivo.

-data-02-03-04.dat

Supongo que el problema proviene del nombre del archivo que comienza con un guión. Recibo el siguiente error al intentar cambiarle el nombre.

rename -data-02-03-04.dat data020304.dat
Unknown option: data-02-03-04.dat
Usage:
    rename [ -h|-m|-V ] [ -v ] [ -0 ] [ -n ] [ -f ] [ -d ]
    [ -e|-E perlexpr]*|perlexpr [ files ]

Respuesta1

En realidad, el problema proviene del nombre del archivo que comienza con un guión, por lo que se toma como una opción del renamecomando en lugar de como un argumento. Para evitar el problema, simplemente siga la ruta del archivo:

mv ./-data-02-03-04.dat data020304.dat

Utilicé el mvcomando que es más conveniente para un solo archivo. renameEl comando se usa principalmente para cambiar el nombre por lotes y requiere una perlexpresión regular.

Como se ha señaladoaquí, otra forma de solucionar el problema es agregar un guión doble --para indicar el final de las opciones del comando:

mv -- -data-02-03-04.dat data020304.dat

Respuesta2

renameno hace lo que crees que hace.

Podrías hacer una de las siguientes cosas:

mv ./-data-02-03-04.dat data020304.dat
mv -- -data-02-03-04.dat data020304.dat

Si realmente desea utilizar el cambio de nombre, la sintaxis correcta sería:

rename 's/-//g' ./-data-02-03-04.dat
rename 's/-//g' -- -data-02-03-04.dat

información relacionada