A'nın kullanımının *neredeyse kaçınılmaz olduğu birçok durum vardır - örneğin rm -rf *binlerce alt klasör ve dosya içeren bir klasörde.
Ancak, yalnızca bir veya iki dosya veya klasörü rmkomutun dışında bırakmak isterseniz ne olur ? Yolumu araştırdım ve buradafind . -depth -not \( -name 'one' -o -name 'two' \
-o -name 'three' \) -exec rm {} \; belirtildiği gibi oldukça karmaşık çözümler buldum .
Bunu daha kolay bir şekilde yapma imkanı var mı - bu sapma olmadan find? Örneğin rm -rf --exclude='one' --exclude='two' --exclude='three' *rsync gibi rm -rf -e 'one','two','three' *mi yoksa sadece ?
Hatta belki bir genel olasılık şeyleri dışlamak için *(böylece diğer komutlar gibi cp, mv... kendi uygulamak zorunda değilsiniz)? Gibi bir şey *{'one','two','three'}mi?
mv -t /tmp one two three && rm -rf * && mv -t . /tmp/one /tmp/two /tmp/three, ama bir şeyi açıkça dışlama imkanı veren bir çözümü tercih ederim *. Kesinlikle dosyaları taşımak veya başka bir hedefe kopyalamak bir seçenek olmayacaktır durumlar olacaktır.
findile kullanmak istiyorum--delete(rmher dosya için yürütmek gerek yok . Bu gereksiz yükü).