Usted está haciendo todo bien. Es el '*' que le da un problema (el shell se está expandiendo en la lista de archivos en lugar de la find
). La sintaxis podría ser:
cd <your_directory>; find . -type f | xargs rm -f
find <your_directory> -type f | xargs rm -f
(El último es un poco menos eficiente, ya que pasará nombres más largos a xargs
, pero apenas se notará :-) )
Alternativamente, usted podría escapar de su '*' como este (en caso de que también se intenta quitar también el "." y ".."; no es un problema - usted acaba de conseguir un poco de advertencia :-) ):
find . -name '*' | xargs rm -f
find . -name "*" | xargs rm -f
find . -name \* | xargs rm -f
Si los nombres de archivo contiene espacios, a continuación, utilizar esta:
find . -type f -print0 | xargs -0 rm -f