Cambie los archivos html a txt en toda la carpeta

1

¿Existe un comando de terminal de mac para cambiar todos los archivos .html a .txt, incluidos los archivos en las subcarpetas también?

    
pregunta Adrien 11.10.2015 - 07:52

3 respuestas

1

Supongo que en realidad solo quieres cambiarles el nombre. Ejecuta lo siguiente desde dentro de la carpeta. Si no confía en el comando, agregue echo antes de mv para ver lo que haría.

find . -type f -name "*.html" -exec bash -c "mv {} \'dirname {}\'/\'basename -s.html {}\'.txt" \;

Esto hace lo siguiente:

  1. Busca todos los archivos ( -type f ) en la carpeta actual ( . ) cuyo nombre termina con ".html" ( -name "*.html" )
  2. Lo que encuentra la ruta del archivo ( dirname ), agrega una barra ( / ) y el nombre del archivo original sin el sufijo ".html" ( basename -s.html ) y agrega un ". txt "sufijo.
  3. Luego cambia el nombre del archivo original ( mv ).
  

En realidad, la notación '' para usar una salida de programas como parte de un comando está en desuso. Debería usarse $() en su lugar, pero en el caso de find los backticks son más fáciles de usar.

    
respondido por el Max Ried 11.10.2015 - 12:32
-1

renombrar

Puedes usar rename que puedes instalar usando brew .

Instala rename utilizando brew: brew install rename

Renombrar archivos usando rename :

rename -s .html .txt *
    
respondido por el CousinCocaine 11.10.2015 - 19:35
-1

for-loop

for file in *.html; do
   mv "${file}" "${file%.html}".txt
done

Este 'for loop' es solo una forma de hacerlo.

    
respondido por el CousinCocaine 11.10.2015 - 19:28

Lea otras preguntas en las etiquetas