Jag körde det här kommandot:

find /home/ ~ -type f -size 5 "*." -a -30 

men det sa find: paths must precede expression. Jag har svårt att få find att leta efter matchningar i den aktuella katalogen och dess underkataloger. Vad betyder detta fel och hur kan jag få matchningarna från både den aktuella katalogen och dess underkataloger?

Svar

Som du verkar förstå, du kan ange flera startpunkter för find; t.ex.

find dir1 dir2 dir3 -type f … (other arguments) …

Men din "*." och -30 är inte giltiga sök- / åtgärdstermer, så find tror att du ger fler startpunkter efter -type f. Kanske menar du -name "*." och -mtime -30?

PS -name "*." skulle matcha alla namn som slutar med en punkt ( . ), aka punkt eller punkt. Även om det är giltigt skulle det vara ett ganska ovanligt mönster; är är det verkligen vad du menar?

PPS Om din hemkatalog (representerad av ~) är under /home ditt kommando är överflödigt eftersom det kommer att söka i din hemkatalog två gånger.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *