検索コマンドのプルーニング

検索コマンドのプルーニング

次のコマンドを実行して、管理者アカウント、ゲスト、共有アカウント、または「.」で始まるアカウントを除く、/Users 内のすべてのユーザーを取得します。

find /Users -type d -maxdepth 1 -mindepth 1 ! -name admin ! -name Shared ! -name administrator | grep "$a"

これは何よりも好奇心なのですが、「! -name admin ! -name Administrator ! -name Shared」などと入力する代わりに、無視したい名前を組み合わせる方法はありますか?

答え1

このオプションを使用できます-regex:

find /Users -maxdepth 1 -mindepth 1 -type d \
    -not -regex '.*/\(admin\|Shared\|administrator\)' | grep "$a"

関連情報