ディレクトリ内のすべてのファイルを削除して.envを維持するにはどうすればよいですか?

ディレクトリ内のすべてのファイルを削除して.envを維持するにはどうすればよいですか?

ディレクトリ内のすべてのファイルを削除しexample/ますが、.envファイルを削除しない方法は何ですか?

おそらく rm -f !(.env) example/

ベストアンサー1

シェルでextglobシェルオプションを設定する場合dotglobbash

shopt -s extglob dotglob

これにより、パターンはではなくディレクトリexample/!(.env)と一致します。example.env

隠された名前に対してワイルドカードパターンの一致を許可するように設定する必要がありますdotglob

使用

rm -f example/!(.env)

一致する名前を削除しようとしています。

パターンがあまりにも多くの名前に拡張されていると、「パラメータリストが多すぎる」エラーが発生します。単純なループで実行するのは代替ソリューションです。

for name in example/!(.env); do rm -f "$name"; done

関連質問:

おすすめ記事