Ho eseguito questo comando:
find /home/ ~ -type f -size 5 "*." -a -30
ma ha detto find: paths must precede expression
. Non riesco a far sì che find
cerchi corrispondenze nella directory corrente e nelle sue sottodirectory. Che cosa significa questo errore e come posso ottenere le corrispondenze sia dalla directory corrente che dalle sue sottodirectory?
Rispondi
As sembra che tu abbia capito, puoi specificare più punti di partenza per find
; ad esempio,
find dir1 dir2 dir3 -type f … (other arguments) …
Ma i tuoi "*."
e -30
non sono termini di ricerca / azione validi, quindi find
pensa che “stai fornendo più punti di partenza dopo -type f
. Forse intendi -name "*."
e -mtime -30
?
PS -name "*."
corrisponderebbe a tutti i nomi che terminano con un punto ( .
), noto anche come punto o punto. Sebbene valido, sarebbe uno schema abbastanza insolito; è è davvero quello che intendi?
PPS Se la tua directory home (rappresentata da ~
) è sotto /home
, allora il tuo comando è ridondante, poiché cercherà due volte nella tua directory home.