私は走った
/bin/find /home/user/myfiles \! -name '.htaccess' -exec rm -r {} \;
それはすべてを削除します存在する myfiles
ディレクトリmyfiles
自体が.htaccess
存在しない場合。
私が期待するのは、ディレクトリからファイル(.htacess
すべてのファイルを除く)を見つけて削除することです。
私は何が間違っていましたか?
ベストアンサー1
あなたのバージョンが(GNU、macOS Monterey、または他のバージョン)をfind
サポートしている場合は、次のものを使用できます。-delete
-mindepth
find
/bin/find /home/user/myfiles -mindepth 1 -delete
それ以外の場合は、find
次のようにパスを指定してみましょう。
/bin/find /home/user/myfiles/*
保持したいディレクトリの下のすべてのエントリをマージし、find
その下で作業を実行します。
これは、単にアイテムをリストまたは削除する前に削除するなど、非破壊的な方法で最初に実行するために基本的に独自のタスクパラメータを取得するfindなどのツールにとって良いアイデアです。