4 votos

Cambiar todos los archivos .txt por archivos .md en una carpeta determinada

¿Existe un comando de Terminal o algo parecido para renombrar por lotes los archivos de una determinada carpeta? Básicamente quiero cambiar todos los archivos que tienen un .txt como tipo de archivo, y cambiarlo a .md (para markdown). ¿Es esto posible? Me siento cómodo usando la Terminal, siendo un desarrollador, así que no se retiene en las soluciones :)

Gracias de antemano por la ayuda que puedan prestar.

15voto

Gerry Puntos 10709

Puedes hacer lo siguiente en el Terminal:

find . -iname "*.txt" -exec bash -c 'mv "$0" "${0% \.txt }.md"' {} \;

Esto renombrará recursivamente todos los archivos .txt en el directorio actual a .md.

1voto

Nip Puntos 362

Aunque no utilice zsh como su shell por defecto, puede seguir utilizando zmv en una cáscara temporal:

zsh -c 'autoload zmv;$0 $@' zmv -w '*.txt' '$1.md'

De forma recursiva:

zsh -c 'autoload zmv;$0 $@' zmv -w '**/*.txt' '$1$2.md'

Nota: El -n es útil para las pruebas.

zmv se describe en el zshcontrib y la sintaxis completa de glob se describe en la página de manual zshexpn en la sección "Generación de nombres de archivos".

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X