
Ich versuche, eine Datei von zwei verschiedenen Pfaden abzurufen. Ich habe den folgenden Befehl verwendet. Die Ausführung scheint ordnungsgemäß zu sein, aber es gibt keine Ausgabe.
find . \( -path "/usr/local" -o -path "/user/local/archive" \) -name "xyz.csv"
Können Sie mir hierbei bitte helfen?
Antwort1
Die Gründe, warum Sie keine Ausgabe erhalten:
- Der Punkt
.
ist die Wurzel Ihrer Suche. Wenn Sie sich also nicht im Stammverzeichnis befinden, haben Sie/usr/local
in Ihrem Suchbaum nicht - Die
-path
Option muss mit dem gesamten Pfad übereinstimmen, einschließlich des zu suchenden Objekts. Wenn Sie also ein angegeben haben,-name
muss dieser Name auch Teil des sein (oder am Ende-path
mit globbed )*
Nimmt aber find
mehr als ein Argument als Suchpfad an, sodass Sie suchen können, wie @Kamaraj in seinem Kommentar geschrieben hat. In Ihrem Fall ist dies nicht einmal notwendig, da find auch in Unterverzeichnissen sucht und somit find /usr/local -type f -name xyz.csv
auch find/usr/local/archiv/xyz.csv