Posible duplicado:
Cambiar el nombre de varios archivos (cambiar la extensión)
Supongamos que en mi directorio actual/de trabajo tengo cinco archivos:
file1.xvg
file2.xvg
file3.xvg
file1.eps
file2.eps
¿Hay alguna manera de que pueda cambiar el nombre de todos los archivos en el directorio actual/de trabajo con la extensión.xvgy darles la nueva extensión.TXT(dejándo el.epsarchivos solos)? ¿Se puede hacer esto con rename
, mv
o mmv
quizás? Estoy usando Ubuntu Linux. ¡Gracias!
Respuesta1
Para su pregunta particular, este comando funcionará. Verifique que esté satisfecho con el cambio de nombre propuesto y luego suelte el botón -n
para continuar con la operación.
rename -n 's/\.xvg$/.txt/' *.xvg
Básicamente, esto significa que para todos los archivos con la .xvg
extensión en el directorio actual, busque los archivos que terminan ( $
) con .xvg
y cambie esa parte del nombre a .txt
.
Más detalles y un ejemplo a continuación.
Sí, el rename
comando hará esto por usted. Un breve ejemplo en el que cambio el nombre de todos mis archivos con la .html
extensión a .html_bak
, ignorando otros archivos en el directorio.
me gustaríafuertementerecomiendo usar la -n
opción de línea de comandoprimero(explicado a continuación) para ver qué cambios ocurrirían antes de ejecutar el comando real.
Con qué empiezo:
$ ls
a.html a.txt b.html htmlfile
los -n
medios hacen una "prueba"... ¡solo muestra lo que cambiaría, no cambies nada!
$ rename -n 's/\.html$/.html_bak/' *
a.html renamed as a.html_bak
b.html renamed as b.html_bak
Todavía tengo los archivos originales.
$ ls
a.html a.txt b.html htmlfile
Ahora de verdad:
$ rename 's/\.html$/.html_bak/' *
Se ha cambiado el nombre de los archivos.
$ ls
a.html_bak a.txt b.html_bak htmlfile
En los ejemplos anteriores utilizo *
para especificar los archivos que se considerarán para la operación de cambio de nombre. Podría haber restringido esto .html
solo a archivos con *.html
.
Para obtener más información, consulte la página de manual de cambio de nombre.
Respuesta2
Esto se puede hacer así:
rename 's/xvg$/txt/' *.xvg
El patrón global garantiza que sólo *.xvg
los archivos se vean afectados.