Polecenie find - problem z testami ścieżki i nazwy pliku


(BartekBl) #1

A oto historia, która przydarzyła mi się ostatnio:

bartekbl@bartekbl:~$ find / -xdev -path *bin*pulse* 2> /dev/null

/usr/bin/start-pulseaudio-x11

/usr/bin/pulseaudio

/usr/bin/pulse-session

bartekbl@bartekbl:~$ find / -xdev -path *pulse* 2> /dev/null

bartekbl@bartekbl:~$ find / -xdev -name *pulse* 2> /dev/null

bartekbl@bartekbl:~$

Jakim cudem szersze zapytanie "*pulse*" zwraca mniej wyników niż bardziej doprecyzowane "*bin*pulse*" ? P.S. użycie testu

-regex .*pulse.*

daje całą chmarę wyników, wciąż jednak jestem ciekaw jak działają -path i -name


(nintyfan) #2

Może dodaj backslashe() przed gwiazdkami.

Gwiazdki są interpretowane przez powłokę.


(BartekBl) #3

Dziwne, ale... działa! Dzięki :slight_smile:

Dziwne jest, że obecność backslashy nie wpływa ani na działanie pierwszego testu, ani na działanie wyrażenia regularnego.