Jak usunąć kilka plików bez określonego przyrostka


0

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.

Odpowiedzi:


4

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 fjeśli chcesz usunąć tylko zwykłe pliki, a nie dowiązania symboliczne lub katalogi.


Uruchom polecenie z dodatkowym -deleteargumentem na końcu, aby je usunąć.


@slhck Dzięki, nie wiem, o czym myślałem (prawdopodobnie niewiele)
Daniel Beck

2

Jeśli masz włączone rozszerzone globowanie, możesz spróbować:

rm !(*.dist)

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.