2017-09-21 5 views

Répondre

1

D'abord, trouver les fichiers et les supprimer:

find [dir_path] -maxdepth 1 -type f | xargs rm -rf 

Au-dessus est simple et ne fonctionne quand il y a un espace dans l'un des nom de fichier (s). Donc, j'ai écrit une commande complexe et complète pour gérer les espaces aussi:

trouver ./ -maxdepth 1 -type f | awk -F '/' '{printf' '% s' \ '' \ n ", $ 2} '| xargs rm -rf

"-maxdepth 1" signifie simplement à partir du répertoire non Childs. Dans les autres moyens, pas de recherche récursive. Comme vous le savez, "xargs" exécute une commande suivante sur la liste qui lui est envoyée.

+0

Ne fonctionne pas pour les noms de fichiers contenant des espaces. – choroba

1

Vous pouvez simplement utiliser les rm:

rm .* * 

Il ne supprime pas les répertoires et ne récursif pas en eux par défaut.