Jeg kørte denne kommando:

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

men det sagde find: paths must precede expression. Jeg har svært ved at få find til at søge efter match i den aktuelle mappe såvel som dens underkataloger. Hvad betyder denne fejl, og hvordan kan jeg få matchene fra både den aktuelle mappe og dens underkataloger?

Svar

Som du synes at forstå, kan du angive flere startpunkter for find; f.eks.

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

Men din "*." og -30 er ikke gyldige søge- / handlingsudtryk, så find tror, du giver flere startpunkter efter -type f. Måske mener du -name "*." og -mtime -30?

PS -name "*." ville matche alle navne, der slutter med et punktum ( . ), aka prik eller punktum. Selvom det er gyldigt, ville det være et ret usædvanligt mønster; er det virkelig hvad du mener?

PPS Hvis din hjemmekatalog (repræsenteret af ~) er under /home din kommando er overflødig, da den søger i din hjemmekatalog to gange.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *