Cambie todos los archivos .txt a archivos .md en una carpeta determinada

4

¿Hay un comando de Terminal o algo así para cambiar el nombre de los archivos en una carpeta determinada? Básicamente quiero cambiar todos los archivos que tienen un .txt como tipo de archivo y cambiarlo a .md (para markdown). es posible? Me siento cómodo usando el Terminal, siendo un desarrollador, así que no retenga las soluciones. :)

Gracias de antemano por cualquier ayuda que pueda proporcionar.

    
pregunta greduan 05.10.2012 - 19:04

2 respuestas

15

Puedes hacer lo siguiente en la Terminal:

  

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

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

    
respondido por el Gerry 05.10.2012 - 19:34
1

Incluso si no usas zsh como shell predeterminado, puedes usar zmv en un shell temporal:

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

Recursivamente:

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

Nota: la opción -n es útil para realizar pruebas.

zmv se describe en la página de manual zshcontrib , y la sintaxis de glob completa se describe en la página de manual zshexpn en la sección "Generación de nombre de archivo".

    
respondido por el Chris Johnsen 06.10.2012 - 08:57

Lea otras preguntas en las etiquetas