Cambia i file html in txt su tutta la cartella

1

Esiste un comando mac terminale per cambiare tutti i file .html in .txt compresi i file nelle sottocartelle?

    
posta Adrien 11.10.2015 - 07:52
fonte

3 risposte

1

Suppongo che in realtà tu voglia semplicemente rinominarli. Esegui il seguente da dentro la cartella. Se non ti fidi del comando, aggiungi echo prima di mv per vedere cosa farebbe.

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

Questo è il seguente:

  1. Cerca ogni file ( -type f ) nella cartella corrente ( . ) il cui nome termina con ".html" ( -name "*.html" )
  2. Esso trova il percorso del file ( dirname ), aggiunge una barra ( / ) e il nome del file originale senza il suffisso ".html" ( basename -s.html ) e aggiunge un ". txt "suffisso.
  3. Quindi rinomina il file originale ( mv ).

Actually, the ' ' notation for using a programs output as part of a command is deprecated. $() should be used instead, but in the case of find the backticks are easier to use.

    
risposta data 11.10.2015 - 12:32
fonte
-1

rename

Puoi utilizzare rename che puoi installare utilizzando brew .

Installa rename usando brew: brew install rename

Rinomina i file usando rename :

rename -s .html .txt *
    
risposta data 11.10.2015 - 19:35
fonte
-1

per-loop

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

Questo "ciclo for" è solo un modo per farlo.

    
risposta data 11.10.2015 - 19:28
fonte

Leggi altre domande sui tag