WD My BookWorldEditionでSSHを使用しています。基本的に、特定のディレクトリレベルから始めて、.Apple*
に一致するすべてのサブディレクトリを再帰的に削除したいと思います。 。どうすればいいですか?
試しました
rm -rf .Apple*
およびrm -fR .Apple*
サブディレクトリ内でその名前に一致するディレクトリも削除されませんでした。
承認された回答:
find
ツリー全体でアクションを選択的に実行するのに非常に便利です。
find . -type f -name ".Apple*" -delete
ここで、-type f
ディレクトリではなくファイルであることを確認してください。シンボリックリンクやソケットなどもスキップされるため、希望どおりのファイルではない可能性があります。 ! -type d
、これは文字通りディレクトリではないことを意味しますが、文字を削除してデバイスをブロックすることもできます。 -type
を確認することをお勧めします find
のマニュアルページの述語 。
ワイルドカードを使用して厳密に行うには、高度なシェルサポートが必要です。 Bashv4にはglobstar
があります オプション。**
を使用してサブディレクトリを再帰的に照合できます。 。 zsh
およびksh
このパターンもサポートします。これを使用して、rm -rf **/.Apple*
を実行できます。 。これはPOSIX標準ではなく、移植性も低いため、スクリプトでの使用は避けますが、1回限りのインタラクティブなシェルアクションの場合は問題ありません。