Ok, tengo un montón de archivos que comienzan con un guión, -. Lo que no es tan bueno ... y quiero cambiarles el nombre. En mi caso particular, me gustaría poner un personaje delante de ellos.
Encontré la siguiente línea que debería funcionar, pero debido a su guión no funciona:
for file in -N*.ext; do mv $file x$file; done
Si pongo un echo
frente del mv
me sale un montón de
mv -N1.ext x-f1.ext
mv -N2.ext x-f2.ext
Lo cual es correcto, excepto que, por supuesto, pensará que el primer nombre de archivo es opciones. Entonces, cuando elimino echo
y lo ejecuto, obtengo un montón de
mv: illegal option -- N
He tratado de cambiarlo a
for file in -N*.ext; do mv "$file" "x$file"; done
pero las citas simplemente se ignoran al parecer. Intenté usar comillas simples, pero luego la variable no se expandió ... ¿Qué hago aquí?
Actualización: ahora también he intentado citar las citas. Me gusta esto:
for file in -N*.ext; do mv '"'$file'"' '"'x$file'"'; done
Y cuando hago eco de eso, parece correcto, pero cuando lo ejecuto, simplemente obtengo
mv: rename "-N1.ext" to "x-n1.ext":: No such file or directory
No tengo ni idea de cómo hacer esto ahora ... suspiro