Istnieje wiele sytuacji, w których użycie a *jest praktycznie nieuniknione - np. rm -rf *W folderze zawierającym tysiące podfolderów i plików.
Ale co, jeśli chcesz wykluczyć tylko jeden lub dwa pliki lub foldery z rmpolecenia? Przeszukiwałem swoją stronę i znalazłem tylko dość skomplikowane rozwiązania, jak find . -depth -not \( -name 'one' -o -name 'two' \
-o -name 'three' \) -exec rm {} \;podano tutaj .
Czy można to zrobić w łatwiejszy sposób - bez tego objazdu find? Np. rm -rf --exclude='one' --exclude='two' --exclude='three' *Jak w rsync czy po prostu rm -rf -e 'one','two','three' *?
Może nawet ogóle możliwość wyłączenia rzeczy z *(tak jak inne polecenia cp, mv... nie trzeba zaimplementować własną rękę)? Coś w *{'one','two','three'}tym stylu?
mv -t /tmp one two three && rm -rf * && mv -t . /tmp/one /tmp/two /tmp/three, ale wolałbym rozwiązanie dające możliwość wyraźnego wykluczenia czegoś z *. Z pewnością będą sytuacje, w których przenoszenie lub kopiowanie plików do innego miejsca docelowego nie będzie możliwe.
findz tej--deleteopcji (nie trzeba wykonywaćrmdla każdego pliku. To niepotrzebny narzut).