Esiste un comando mac terminale per cambiare tutti i file .html in .txt compresi i file nelle sottocartelle?
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:
-type f
) nella cartella corrente ( .
) il cui nome termina con ".html" ( -name "*.html"
) dirname
), aggiunge una barra ( /
) e il nome del file originale senza il suffisso ".html" ( basename -s.html
) e aggiunge un ". txt "suffisso. mv
). Actually, the ' ' notation for using a programs output as part of a command is deprecated.
$()
should be used instead, but in the case offind
the backticks are easier to use.
for file in *.html; do
mv "${file}" "${file%.html}".txt
done
Questo "ciclo for" è solo un modo per farlo.
Leggi altre domande sui tag command-line mac terminal