Ik heb deze opdracht uitgevoerd:

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

maar het zei find: paths must precede expression. Ik vind het moeilijk om find te laten zoeken naar overeenkomsten in zowel de huidige map als de submappen ervan. Wat betekent deze fout en hoe kan ik de overeenkomsten krijgen uit zowel de huidige map als de submappen?

Antwoord

Als je lijkt het te begrijpen, je kunt meerdere startpunten specificeren voor find; bijv.

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

Maar uw "*." en -30 zijn geen geldige zoek- / actietermen, dus find denkt dat u “meer startpunten opgeeft na de -type f. Misschien bedoelt u -name "*." en -mtime -30?

PS -name "*." komen overeen met alle namen die eindigen op een punt ( . ), ook bekend als punt of punt. Hoewel dit geldig is, zou dat een vrij ongebruikelijk patroon zijn; is het echt wat je bedoelt?

PPS Als je homedirectory (vertegenwoordigd door ~) onder /home staat, dan uw commando is overbodig, aangezien het tweemaal in uw homedirectory zal zoeken.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *