it-swarm-es.tech

¿Cómo elimino todos los archivos con un nombre en todos los subdirectorios?

Quiero eliminar todos los archivos con un nombre en todos los subdirectorios de mi directorio de inicio.

Lo intenté:

rm -r file

en mi directorio de inicio, pero no funcionó porque ese archivo no existe en ese directorio.

27
oadams

find . -name "filename" -delete

40
tante

como explicación de la respuesta de @ tante, es posible que desee asegurarse de que la lista de archivos utilizada sea correcta antes de eliminar esos archivos:

find <source_dir> -name <filename> -print

si la inspección muestra una lista válida, entonces

find <source_dir> -name <filename> -delete

otra opción si desea esto en muchos directorios utilizando un directorio de retención temporal:

mkdir <dest_dir>
for i in <list_of_directories>
do
  find "$i" -name <filename> -exec /bin/mv {} <dest_dir>
done

# check dest_dir
ls dest_dir
rm -rf <dest_dir>

Como siempre, asegúrese de la precisión de los scripts antes de la ejecución y siempre tenga una copia de seguridad lista en caso de que algo salga mal.

12
Wayne