あるディレクトリ以下に存在する、指定のファイルやディレクトリ"以外"を削除する

あるディレクトリ以下「/foo」の、対象ファイルorディレクトリ「hoge」とした場合、以下みたいな感じで実行すればOK。

$ ls /foo/ | grep -v 'hoge' | xargs rm -rf


複数指定したい場合は、正規表現を使う。

$ ls /foo/ | grep -v -E 'hoge|fuga' | xargs rm -rf

とか、

$ ls /foo/ | grep -v -E '*.rb$' | xargs rm -rf