J'essaie de supprimer dans GNU / Linux tous les dossiers d'un autre dossier commençant par un "." (point), pour cela j'utilise l'utilitaire de recherche, voici ce que j'ai:
find . -iname ^\..* -exec rm -rf {} \;
mais il ne fait rien :(. J'ai déjà testé l'expression régulière et fonctionne bien. Toute aide s'il vous plaît ??
Merci beaucoup pour votre temps.
.
et..
fichier dans chaque répertoire qui sera probablement vous chagrin quand vousrm -rf
il :-)Réponses:
find
utilise la syntaxe de globbing, et vous pouvez utiliser-type d
pour rechercher uniquement des répertoires:Vous devez être extrêmement prudent lorsque vous effectuez un déplacement ou que vous utilisez regex pour trouver des
.hidden
fichiers, car vous pouvez facilement récupérer.
et supprimer tout votre dossier, ou même pire, faire correspondre..
et supprimer tout votre dossier parent. Considérez les conséquences de la commande suivante:la source
-name
et-iname
utilisez des globs, pas des regex. Essayez-regex
ou à la-iregex
place.la source
la source
-mindepth 1
.Si zsh est une option, vous pouvez simplement utiliser:
print **/.*(/)
ourm
bien sûr :)la source