Spustil jsem tento příkaz:

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

ale ono řekl find: paths must precede expression. Je pro mě těžké find hledat shody v aktuálním adresáři i jeho podadresářích. Co tato chyba znamená a jak mohu získat shody z aktuálního adresáře i jeho podadresářů?

Odpověď

As Zdá se, že tomu rozumíte, můžete zadat více výchozích bodů pro find; např.

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

Ale vaše "*." a -30 nejsou platné vyhledávací / akční výrazy, takže find si myslí, že po -type f poskytujete více výchozích bodů. Možná myslíte -name "*." a -mtime -30?

PS -name "*." by odpovídalo všem jménům, která končí tečkou ( . ), neboli tečka nebo tečka. I když je to platné, byl by to docela neobvyklý vzor; je opravdu to máte na mysli?

PPS Pokud je váš domovský adresář (představovaný ~) pod /home, pak váš příkaz je nadbytečný, protože dvakrát prohledá váš domovský adresář.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *