Linux - znajdź - Jak wykluczyć katalog

0

W / tmp chcę znaleźć pliki starsze niż 180 dni, ale chcę także wykluczyć niektóre foldery z wyszukiwania, takie jak ./vboxdrv-Module.symvers. Jak mogę wykonać zadanie za pomocą find?

OverMorrow
źródło

Odpowiedzi:

3

Ta składnia zrobi, co chcesz:

find -not -newermt 2016-11-10 -not -path "./vboxdrv-Module.symvers/*"

Zmień dowolne ustawienia.

Dodaj tylu -not -path chcesz po sobie. To znaczy.

find -not -newermt 2016-11-10 -not -path "./folder1/*" -not -path "./folder2/*"

Lub jeśli chcesz to zrobić z innego folderu:

find /tmp/ -not -newermt 2016-11-10 -not -path "/tmp/folder1/*" -not -path "/tmp/folder2/*"
Mikael Kjær
źródło
Dobra odpowiedź, ale twoje przykłady powinny pokazać, czego chce pytający, np -not -newermt 2016-11-10, zamiast twojego -name klauzula.
AFH
Masz rację. Byłem zbyt leniwy. Odpowiednio zaktualizuję.
Mikael Kjær
Czy jest to wariant POSIX? Potrzebuję tego, ponieważ muszę wykonać tę samą akcję w systemie AIX
OverMorrow
Nie jestem pewien co do czasu w POSIX, ale brzmi to tak, jakbyś to miał. Jeśli to przypadek, po prostu wymień - nie z!. To znaczy. ! -path "/ tmp / folder1 / *"
Mikael Kjær