ディレクトリ内のすべてのファイルを削除しexample/
ますが、.env
ファイルを削除しない方法は何ですか?
おそらく
rm -f !(.env) example/
?
ベストアンサー1
シェルでextglob
シェルオプションを設定する場合dotglob
bash
shopt -s extglob dotglob
これにより、パターンはではなくディレクトリexample/!(.env)
と一致します。example
.env
隠された名前に対してワイルドカードパターンの一致を許可するように設定する必要がありますdotglob
。
使用
rm -f example/!(.env)
一致する名前を削除しようとしています。
パターンがあまりにも多くの名前に拡張されていると、「パラメータリストが多すぎる」エラーが発生します。単純なループで実行するのは代替ソリューションです。
for name in example/!(.env); do rm -f "$name"; done
関連質問: