pokazywane podfoldery z właścicielem i grupą bieżącego folderu

8

W skrypcie bash chcę rekurencyjnie wyświetlać wszystkie podfoldery dowolnego folderu z użytkownikiem i właścicielami grupy tego folderu.

Moje podejście przypomina używanie stat -c "%U %G" .

Ale to zwraca tylko wzór username[whitespace]groupname

Oczywiście mógłbym po prostu wypróbować różne narzędzia, aby zastąpić biały spacją, :ale wolałbym użyć bardziej „wbudowanego” sposobu, jeśli taki istnieje, aby zastosować bieżącą własność do podfolderów.

Jankapunkt
źródło

Odpowiedzi:

6

chown, na przykład chmod, może użyć odwołania:

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.

Więc:

chown --reference=/some/folder -R /some/folder
muru
źródło
8

W rzeczywistości nie trzeba analizować danych wyjściowych, aby usunąć białe znaki - dodałeś to w swoim poleceniu! Możesz po prostu sformatować go tak, jak chcesz (ze chownskładnią dwukropka):

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

Więc po prostu przekaż to do chownz podstawieniem poleceń:

chown -R $(stat -c "%U:%G" .) .
Zanna
źródło
Czasami jestem po prostu ślepy na oczywiste. Dziękuję Ci!
Jankapunkt