Korzystam z Linuksa, używając Bash.
Muszę usunąć wszystkie pliki bez określonego przyrostka, na przykład „dist”. Wiem, że jest kilka sztuczek, aby to zrobić, zamiast usuwać wszystkie niechciane pliki jeden po drugim.
Użyj poniższej listy, aby wyświetlić listę wszystkich plików, które zostaną usunięte (dla pewności):
find /path/to/directory -mindepth 1 ! -name "*dist"
Dodaj, -type f
jeśli chcesz usunąć tylko zwykłe pliki, a nie dowiązania symboliczne lub katalogi.
Uruchom polecenie z dodatkowym -delete
argumentem na końcu, aby je usunąć.
Jeśli masz włączone rozszerzone globowanie, możesz spróbować:
Uwaga: jeśli masz katalogi bez rozszerzenia .dist, spróbuje je również usunąć, ale zakończy się niepowodzeniem.
Aby włączyć rozszerzone korzystanie z globowania:
shopt -s extglob
źródło