特定のグループと一致する場合、グループを変更せずに「chgrp」を繰り返し実行する方法は?

特定のグループと一致する場合、グループを変更せずに「chgrp」を繰り返し実行する方法は?

私のホームディレクトリのすべてのファイル/サブディレクトリを他のユーザーのホームディレクトリにコピーしました。

それから私は彼のホームディレクトリに再帰し、chown彼がすべてのファイル/サブディレクトリの所有者になるようにしました。

私が最後にやるべきことは、chgrp彼のユーザー名が私のユーザー名ではなく彼のすべてのファイル/サブディレクトリのグループになるように彼のホームディレクトリに再帰することです。

問題は、グループが「docker」のサブディレクトリが複数あることです。このサブディレクトリには、グループが私のユーザー名であるいくつかのファイル/ディレクトリと、グループが「docker」であるいくつかのファイル/ディレクトリがあります。

私のユーザー名が属するグループ内のすべてのファイル/サブディレクトリは彼のユーザー名に変更されますが、「docker」グループのすべてのファイル/サブディレクトリはまだ「docker」のままになるように、ホームディレクトリでこれを再帰的に実行するにはどうすればよいですか?chgrpしますか?

ベストアンサー1

ターゲットホームディレクトリから始めて、findグループが所有するすべてのエントリを除外するために使用されます。docker

find . ! -group docker -exec chgrp newgroup {} +

newgroup適切に交換してください。

またはチームが所有しているすべてを見つけてください。

find . -group oldgroup -exec chgrp newgroup {} +

交換は空き状況によってoldgroup異なりますnewgroup

おすすめ記事