Usé este comando y terminé dañando varios directorios de archivos, no archivos críticos para el sistema en macOS Monterey 12.2.1, MacBook Pro 13 pulgadas 2020:
find . -type f -exec bash -c 'mv $1 "${1%.*}.$(md5 -q $1).${1##*.}"' bash {} \;
Los movió de sus directorios a /Users/
y los renombró con sus hashes md5, hice este comando:
cd Users/USERNAME/Desktop/mytest
find . -type f -exec bash -c 'mv $1 "${1%.*}.$(md5 -q $1).${1##*.}"' bash {} \;
¿No es este un comando altamente peligroso como sudo
y cómo debería haberlo usado para archivos específicos de un solo directorio?
2 votos
Los comandos de Unix en general pueden ser peligrosos si no tienes cuidado. Siempre recomiendo usar
mv -i
omv -f
con cualquier tipo de movimiento a granel/automatizado, para evitar quemv
sobrescriba archivos silenciosamente e irreversiblemente si hay un conflicto de nombres. Además, agregaecho
antes del comandomv
para obtener una "prueba en seco" donde imprimirá lo que ejecutaría si eliminas elmv
.0 votos
@GordonDavisson: Gracias. No conocía echo mv, mv -i o mv -f, sobrescribí archivos irremediablemente allí.