ディレクトリのファイルとフォルダ(フォルダの内容を除く)を削除する最良の方法は何ですか? [コピー]

ディレクトリのファイルとフォルダ(フォルダの内容を除く)を削除する最良の方法は何ですか? [コピー]

定期的に実行するいくつかのファイル管理タスクを自動化しようとしています。 「./xfer」フォルダとその内容を除いて、ディレクトリ内のすべてのファイルとフォルダを削除したいと思います。

私はこれを達成するためにfindコマンドを使用しようとしましたが、結果は少し不満です。もっと良い方法がありますか?次のコマンドを実行してテスト環境を設定しました。

mkdir test0{1..5}; find . -type d -exec touch '{}'/test-0{1..5} \;

これが私が作業してきたコマンドです。ところで、私はこれについて少し初めてであり、主に学習練習でこれをしています。また、これはすぐに終了する小さなスクリプトの最後のコマンドになります。

find /some/directory/path/* -type f ! -path "/some/directory/path/xfer/*" -exec rm -fv {} \;; find /some/directory/path/*  -type d ! -path "/some/directory/path/xfer" -exec rm -rfv {} \;

ベストアンサー1

あなたはそれを使用することができます-prune

find . -path ./xfer -prune -o -exec rm -fv {} \;

ファイルを一覧表示すると、パスが一致すると./xferファイルが削除され、それ以外の場合はrm呼び出されます。

おすすめ記事