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.

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

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" .) .

Czasami jestem po prostu ślepy na oczywiste. Dziękuję Ci!
Jankapunkt
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.