7 Stimmen

Rangfolge der Dateien unix finden auf zwei Verzeichnissen mit oder Befehl

Was ist die erwartete Reihenfolge der Dateien, wenn man den folgenden find-Befehl auf Linux ausführt:

mkdir /tmp/dir1 /tmp/dir2
touch /tmp/dir1/1 /tmp/dir1/2 /tmp/dir2/1 /tmp/dir2/2 /tmp/dir2/3 /tmp/dir/2/0
find /tmp/dir1 /tmp/dir2 -name 1 -or -name 0 -not -name 2

/tmp/dir1/1
/tmp/dir2/1
/tmp/dir2/0

Sollte es immer die Ergebnisse zuerst aus dir1, dann aus dir2 zurückgeben, oder können die Ergebnisse gemischt sein?

11voto

Ingo Punkte 35534

Der find-Befehl wird die Verzeichnisse in der angegebenen Reihenfolge durchsuchen. Da du gesagt hast

find /tmp/dir1 /tmp/dir2 .....

wird es immer zuerst alles finden, was unter /tmp/dir1 übereinstimmt, dann unter /tmp/dir2.

Dennoch können Unterverzeichnisse und Dateien natürlich in beliebiger Reihenfolge erscheinen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X