sous-dossiers chown avec le propriétaire et le groupe du dossier actuel


8

Dans un script bash, je souhaite afficher de manière récursive tous les sous-dossiers d'un dossier arbitraire avec les propriétaires d'utilisateurs et de groupes de ce dossier donné.

Mon approche est quelque chose comme utiliser stat -c "%U %G" .

Mais cela ne renvoie qu'un modèle de username[whitespace]groupname

Bien sûr, je pourrais simplement essayer différents outils pour remplacer l'espace blanc par un :mais je préférerais utiliser une méthode plus "intégrée" s'il y en a un, pour simplement appliquer la propriété actuelle aux sous-dossiers.

Réponses:


6

chown, comme chmod, peut utiliser une référence:

chown [OPTION]... --reference=RFILE FILE...

Change the owner and/or group of each FILE to OWNER and/or GROUP.  With
--reference, change the owner and group of each FILE to those of RFILE.

Donc:

chown --reference=/some/folder -R /some/folder

8

Vous n'avez pas vraiment besoin d'analyser la sortie pour supprimer l'espace blanc - vous l'avez ajouté dans votre commande! Vous pouvez simplement le formater comme vous le souhaitez (avec chownla syntaxe des deux points) en premier lieu:

$ stat -c "%U:%G" .
zanna:unicorns

Il suffit donc de passer cela à la chownsubstitution de commande:

chown -R $(stat -c "%U:%G" .) .

Parfois, je suis juste aveugle pour l'évidence. Je vous remercie!
Jankapunkt le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.