stehen. Ich habe diesen Befehl ausgeführt:
find /home/ ~ -type f -size 5 "*." -a -30
aber es sagte find: paths must precede expression
. Es fällt mir schwer, find
dazu zu bringen, nach Übereinstimmungen im aktuellen Verzeichnis sowie in seinen Unterverzeichnissen zu suchen. Was bedeutet dieser Fehler und wie kann ich die Übereinstimmungen sowohl aus dem aktuellen Verzeichnis als auch aus seinen Unterverzeichnissen abrufen?
Antwort
As Sie scheinen zu verstehen, dass Sie mehrere Startpunkte für find
angeben können. Beispiel:
find dir1 dir2 dir3 -type f … (other arguments) …
Aber Ihre "*."
und -30
sind keine gültigen Such- / Aktionsbegriffe find
glaubt, dass Sie nach -type f
mehr Startpunkte bereitstellen. Vielleicht meinen Sie -name "*."
und -mtime -30
?
PS -name "*."
würde allen Namen entsprechen, die mit einem Punkt enden ( .
), auch bekannt als Punkt oder Punkt. Während dies gültig ist, wäre dies ein ziemlich ungewöhnliches Muster Ist es wirklich das, was Sie meinen?
PPS Wenn sich Ihr Ausgangsverzeichnis (dargestellt durch ~
) unter /home
befindet, dann Ihr Befehl ist redundant, da er Ihr Home-Verzeichnis zweimal durchsucht.