Suoritin tämän komennon:
find /home/ ~ -type f -size 5 "*." -a -30
mutta se sanoi find: paths must precede expression
. Minulla on vaikeuksia saada find
etsimään vastaavuuksia nykyisestä hakemistosta sekä sen alihakemistoista. Mitä tämä virhe tarkoittaa ja miten saan vastaavuudet sekä nykyisestä hakemistosta että sen alihakemistoista?
Vastaa
Kuten näytät ymmärtävän, voit määrittää useita lähtökohtia find
; esim.
find dir1 dir2 dir3 -type f … (other arguments) …
Mutta "*."
ja -30
eivät ole kelvollisia haku- / toimintotermejä, joten find
luulee, että tarjoat lisää lähtökohtia -type f
jälkeen. Ehkä tarkoitat -name "*."
ja -mtime -30
?
PS -name "*."
sopisi kaikkiin nimiin, jotka päättyvät pisteeseen ( .
), eli piste tai piste. Vaikka se olisi kelvollinen, se olisi melko epätavallinen kuvio; on se todella mitä tarkoitat?
PPS Jos kotihakemisto (jota edustaa ~
) on alle /home
, niin komento on tarpeeton, koska se etsii kotihakemistoa kahdesti.