Puedes usar un script de bash para lograr esto. Aquí hay un ejemplo de un script simple que busca y elimina los archivos .DS_Store
y ._.DS_Store
en todas las carpetas y subcarpetas a partir de una ruta dada:
#!/bin/bash
# Establecer la ruta por defecto si no se proporciona ningún argumento
ruta=${1:-"/ruta/por/defecto"}
# Verificar si la ruta es un directorio válido
if [ ! -d "$ruta" ]; then
echo "La ruta proporcionada no es un directorio válido."
exit 1
fi
# Buscar y eliminar los archivos .DS_Store y ._DS_Store
find "$ruta" -type f -name ".DS_Store" -delete
find "$ruta" -type f -name "._.DS_Store" -delete
echo "Archivos .DS_Store y ._DS_Store eliminados correctamente en $ruta y subcarpetas."
En este script, la línea ruta=${1:-"/ruta/por/defecto"}
establece la variable ruta
usando el primer argumento si está presente, de lo contrario, utiliza la ruta por defecto especificada («/ruta/por/defecto»).
Guarda este script en un archivo, por ejemplo, borrar_DS_Store.sh
, y asegúrate de darle permisos de ejecución:
chmod +x borrar_DS_Store.sh
Luego, puedes ejecutar el script proporcionando la ruta como argumento:
./borrar_DS_Store.sh /ruta/de/tu/directorio
o
./borrar_DS_Store.sh