find
Komenda zapewnia opcję -path
. Rozumiem, że trzeba określić, od czego zacząć [powszechnie znany jako „ścieżka”]. Próbując dowiedzieć się, do czego służy, znalazłem wiele przykładów find -path -prune
wykluczających niektóre ścieżki.
Pytanie : Wyjaśnienie, co find -path
robi; do czego służy ta opcja.
Uwaga: Wydaje mi się to krystalicznie czyste, ale potem nie działa tak, jak się spodziewałem. Przejrzałem strony man
i info
, ale nie rozumiem w pełni tej opcji.
EDYCJA Jak rozumiem: find /some/path -name stuff
powinien zacząć szukać „rzeczy”, zaczynając od katalogu, path
który jest podkatalogiem some
. Pracuje. Ale co -path
definiuje ta opcja? Definicje, w tym zdania jak
nie leczyć
/
ani.
specjalnie
niewiele pomaga i są jeszcze bardziej zagmatwane.
Odpowiedzi:
-path
nie definiuje (ponownie) ścieżki początkowej. Odnosi się do kombinacji ścieżki początkowej i ścieżki względnej aktualnie badanego obiektu.Dzięki temu możesz np. Znaleźć wszystkie pliki w podkatalogu
src
bez względu na poziom.„nie traktuj / lub. specjalnie” oznacza, że
*
może pasować do obu nazw plików łącznie z rozszerzeniem i do podkatalogów:[...]/file*
pasuje do obu/file.txt
i/files/foo.bar
źródło
Służy do globowania całej bieżącej ścieżki. Jeśli masz
-path '*bin/*rch'
i aktualnie patrzysz,/sbin/ausearch
to będzie pasować.źródło