サブディレクトリのみを実行するコマンドを処理する方法は? [コピー]

サブディレクトリのみを実行するコマンドを処理する方法は? [コピー]

現在、ディレクトリに影響を与えるコマンドなしでサブディレクトリ内の特定のコマンドのみを実行できるコマンドを実行する方法を探しています。

find -name ":RUN" -exec rm -rf {} \;

私が取得したディレクトリ名がある場合、level0サブディレクトリ名はですlevel1。上記のコマンド例をディレクトリから実行すると、ディレクトリだけでなくlevel0コマンドも影響を受けます。level1level0

level1実行時にディレクトリにのみ影響するコマンドを処理する方法はlevel0

答え1

言うと

探す   - …
あなたは実際に話しています
探す 。 - …
つまり、検索は次から始まります。.(現在のディレクトリ)。サブディレクトリだけで検索したいので、それでも大丈夫です。
探す ./*/-name ":RUN" -exec rm -rf {} ;
名前が見つかりません。最初 .。そのディレクトリが含まれていてbashを使用している場合は、まずこれを実行してくださいshopt -s dotglob

PS Naive、find */ -…その名前のファイルが存在する場合は使用する方が安全ですfind ./*/ -…./*/-

答え2

努力する:

find . -path './*/*' -type d -name ':RUN' -exec echo rm -rf -- {} +

-path './*/*'同等のものに置き換えることもできます-mindepth 2

関連情報