Je veux effectuer une action (disons chown
) sur tous les fichiers cachés d'un répertoire.
Je sais que ce .*
n'est pas une bonne idée car il trouvera également les répertoires actuels .
et parents ..
(je sais que rm
cela ne fonctionnera pas .
et ..
mais d'autres commandes, y compris chown
et chmod
, prendront heureusement effet)
Mais tous mes fichiers cachés ont des noms différents!
Comment dois-je glob pour tous les fichiers cachés tout en excluant .
et ..
?
la source
@()
? Le simple.!(.|)
semble fonctionner à l'identique.!(.|)
fonctionne de la même manière. Y a-t-il un objectif derrière@()
dans ce contexte?pour cacher le. et .. répertoires. Cela définit également l'
dotglob
option:*
correspond aux fichiers cachés et non cachés.Vous pouvez aussi faire
Gilles :)
la source
Vous pouvez utiliser une
find
commande ici. Par exemple quelque chose commeCela trouvera des fichiers cachés et modifiera les autorisations
Modifiez pour inclure le commentaire de @gerrit:
Cela limitera la recherche dans le répertoire actuel au lieu de rechercher récursivement.
la source
-maxdepth 1
ici pour qu'il corresponde mieux au comportement de la question et des autres réponses.