Tak więc, wydaje się, że jest kilka pytań dotyczących usuwania plików/katalogów pasujących do określonych przypadków, ale szukam czegoś dokładnie odwrotnego: Usuń WSZYSTKO w folderze, KTÓRY NIE ZOSTAJE dopasuj moje dostarczone przykłady.Usuń wszystkie pliki/katalogi z wyjątkiem dwóch określonych katalogów
Na przykład, tutaj jest przykład drzewo katalogu:
.
|-- coke
| |-- diet
| |-- regular
| `-- vanilla
|-- icecream
| |-- chocolate
| |-- cookiedough
| |-- cupcake
| | |-- file1.txt
| | |-- file2.txt
| | |-- file3.txt
| | |-- file4.txt
| | `-- file5.txt
| `-- vanilla
|-- lol.txt
|-- mtndew
| |-- classic
| |-- codered
| |-- livewire
| | |-- file1.txt
| | |-- file2.txt
| | |-- file3.txt
| | |-- file4.txt
| | `-- file5.txt
| `-- throwback
`-- pepsi
|-- blue
|-- classic
|-- diet
`-- throwback
Chcę usunąć wszystko, ale pliki w teście/lody/ciastko/i test/mtndew/Livewire /. Wszystko inne może się udać, łącznie ze strukturą katalogów. Jak mogę to osiągnąć? Języki Nie mam nic przeciwko temu będącemu w: bash lub python.
próbowałem, i mówi co następuje: find/home/Phuzion/test/\\ (-prune 'lody/ciastko /' \\) Usuń nie znalezisko: ścieżki muszą poprzedzać wyrażenie – phuzion
Od strony man dla znalezienia: "Ponieważ -delete implikuje -depth, nie możesz z pożytkiem używać -prune i -delete razem." –
Poprawna składnia byłaby bardziej podobna do "find $ directory -path ./pepsi/diet -prune -o -exec some-command '{}' \;" w każdym razie, aby wyeliminować ten komunikat o błędzie. –