Lub find -type f -o -type ddla alternatywy zgodnej z POSIX.
manatwork
Hej, miałem z tym trochę kłopotów, kiedy uruchomiłem $ find. -type d -or -type f -i -iname "vision" nie robi dokładnie tego, czego oczekuję, czy brakuje mi czegoś innego!
James
2
-a ma pierwszeństwo przed -o, użyj nawiasów (ale unikaj ich dla powłoki). Nie ma potrzeby używania niestandardowego -lub lub -and.
Stéphane Chazelas
jeśli spróbuję `znaleźć. -type d lub -type f -name 'abc' . I get an error.. find: ścieżki muszą poprzedzać wyrażenie: `.. Wiesz, dlaczego?
alpha_989
1
@ alpha_989 brakuje -wcześniej or?
Mateusz Piotrowski
2
tl: dr
posługiwać się find . -name "*string*" -type f -o -name "*string*" -type d
wyjaśnienie
Komenda -o orcałkowicie argumentuje argumenty po ścieżce plików, na przykład find . -name "*string*" -type f -o -type doblicza find . (-name "*string*" -type f) -o (-type d). Z tego powodu musisz określić
Większość użytkowników będzie chciała czegoś, co wygląda
find . -name "*string*" -type f -o -name "*string*" -type d
Korzystanie z GNU findwersji 4.7.0 .. Wydaje się, że nie obsługuje ,. Komunikat o błędzie mówi, żefind: Arguments to -type should contain only one letter.
find -type f -o -type d
dla alternatywy zgodnej z POSIX.. I get an error..
find: ścieżki muszą poprzedzać wyrażenie: `.. Wiesz, dlaczego?-
wcześniejor
?tl: dr
posługiwać się
find . -name "*string*" -type f -o -name "*string*" -type d
wyjaśnienie
Komenda -o
or
całkowicie argumentuje argumenty po ścieżce plików, na przykładfind . -name "*string*" -type f -o -type d
obliczafind . (-name "*string*" -type f) -o (-type d)
. Z tego powodu musisz określićWiększość użytkowników będzie chciała czegoś, co wygląda
który oblicza jako
znajdź szczegóły składni
-name "*string*"
wyszukuje nazwy zawierające ciąg znaków wstring
dowolnym miejscu.źródło
Jeśli używasz GNU find, następujące rozwiązanie może ci się spodobać:
Zobacz
man find
po więcej szczegółów:źródło
GNU find
wersji 4.7.0 .. Wydaje się, że nie obsługuje,
. Komunikat o błędzie mówi, żefind: Arguments to -type should contain only one letter.