コマンドを使用してグループを削除したいのですが、groupdel
削除する前にそのグループに属するすべてのファイルを別のグループに割り当てたいと思います。これを行う方法はありますか?
find / -gid group_id
そのグループに属するファイルを見つけて、手動で新しいグループに割り当てるために使用できることを知っています。タスクを自動化する方法を探しています。
答え1
find / -group <groupname> -exec chown :<groupname> {} \+
これで問題が解決します。<groupname>
適切な名前に変更してください。
find
main関数を使用して、返されるファイルに対して任意のコマンドを呼び出すことができます-exec
。この場合、一致する各ファイルのグループ所有権を変更したいので、単にコマンドを渡すことができますchown
(引数と共に - この場合、一致するファイル名を転送するグループの所有権です。所有権グループ名の前に(ユーザー名ではなくグループ名として扱われます)を表します)パラメータが:
あります。返されたファイル名は代わりにコマンドに挿入され、外部コマンドの最後に到達し、追加の引数を独自の引数として解析する必要があることを示します。するために使用します(したがってより効率的です)。chown
-exec
find
{}
+;
find
\+
\;