Use find en Terminal para eliminar directorios y archivos del mismo parámetro de búsqueda

16

Si escribo lo siguiente en Terminal, eliminará todos los archivos que cumplan con el parámetro de búsqueda:

sudo find . -type f -name "*Xilisoft*" -exec rm -rf {} \;

Luego, si comienzo de nuevo y lo describo con, en lugar de feso, eliminará todos los directorios

sudo find . -type d -name "*Xilisoft*" -exec rm -rf {} \;

¿Cómo consigo que elimine el tipo fy dde una sola vez?

Danijel-James W
fuente

Respuestas:

23

Puede proporcionar múltiples -typeopciones con -o, como -type f -o -type den un solo comando.

find . -name "*Xilisoft*" -type f -o -name "*Xilisoft*" -type d

-ocoincide con todos los parámetros, por lo que -namese proporciona dos veces en el comando anterior.
Tenga en cuenta que find puede eliminar los resultados usando en -deletelugar de -exec rm -rf {}.

grg
fuente
3
No conocía la -deleteopción, así que esto es una información bienvenida.
Danijel-James W