`find -path` erklärt


10

Der findBefehl bietet die Option -path. Ich verstehe, dass man definieren muss, wo man anfangen soll [allgemein bekannt als "Pfad"]. Als ich versuchte herauszufinden, wofür es verwendet wird, fand ich viele Beispiele find -path -prune, um einige Pfade auszuschließen.

Frage : Eine Erklärung, was find -pathtut; Wofür diese Option verwendet wird.

Bitte beachten Sie: Es scheint mir kristallklar zu sein, funktioniert dann aber nicht so, wie ich es mir vorgestellt habe. Ich habe die manund die infoSeiten durchgearbeitet , aber ich verstehe nicht die volle Bedeutung dieser Option.

BEARBEITEN So wie ich es verstehe: find /some/path -name stuffsollte anfangen, nach "Zeug" zu suchen, beginnend in dem Verzeichnis, pathdas ein Unterverzeichnis von ist some. Funktioniert. Aber was -pathdefiniert die Option dann? Definitionen einschließlich Sätze wie

nicht behandeln /oder .speziell

hilft nicht viel und ist noch verwirrender.


5
Denken Sie nicht, dass "Es scheint kristallklar zu sein, aber dann nicht so funktioniert, wie ich es mir vorgestellt habe" ein Beispiel wert ist?
Hauke ​​Laging

Antworten:


5

-pathdefiniert den Startpfad nicht (neu). Es bezieht sich auf die Kombination des Startpfads und des relativen Pfads des aktuell untersuchten Objekts.

Auf diese Weise können Sie beispielsweise alle Dateien in einem Unterverzeichnis finden, srcegal auf welcher Ebene.

"Nicht behandeln / oder. speziell" bedeutet, dass *beide Dateinamen einschließlich der Erweiterung und in Unterverzeichnisse [...]/file*übereinstimmen können : würde mit beiden /file.txtund übereinstimmen/files/foo.bar


Hallo, ich habe einige Fragen zu Ihrer Antwort unix.stackexchange.com/questions/200344/… . Vielen Dank, wenn Sie einen Blick darauf werfen können.
Tim

11

Es wird zum Globben des gesamten aktuellen Pfads verwendet. Wenn Sie haben -path '*bin/*rch'und Sie gerade suchen, /sbin/ausearchdann wird es übereinstimmen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.