tcshのfindコマンドの結果から複数のユーザーを除外する方法は?

tcshのfindコマンドの結果から複数のユーザーを除外する方法は?

検索結果からユーザーグループを除外したいです。彼らは同じUnixグループに属していません。これが最善の方法ではありません。そうですか?

find . -maxdepth 1 -type d -name '*_pattern_*' ! -user user1 ! -user user2 ...

ユーザーを文字列または配列に渡すことはできますか?たぶんawkを使うことができますか?

ベストアンサー1

findcshellでは、次のようにタスクを実行するコマンドをまとめて集めることができます。

 #!/bin/tcsh -f

 # persona non grata
 set png = ( \
    user1 \
    user2 \
    user3 \
    user4 \
 ) 

 # build dynamically a portion of the `find` command
 set cmd = ( `printf '! -user %s\n' $png:q` )

 # now fire the generated find command
 find . -maxdepth 1 -type d -name '*_pattern_*'  $cmd:q

おすすめ記事