2013-07-17 5 views
7

Was ist die erwartete Reihenfolge der Dateien, wenn man die folgenden find Befehl auf Linux ausführt:Reihenfolge der Dateien Unix auf zwei Verzeichnisse mit oder Befehl finden

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

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

Soll ja es immer die Ergebnisse zurückgeben von dir1 zuerst, dann dir2, oder können die Ergebnisse in der Reihenfolge gemischt werden?

Antwort

11

Der Befehl find durchsucht die Verzeichnisse in der angegebenen Reihenfolge. Da Sie

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

wird es immer zuerst evrything finden, die unten übereinstimmt/tmp/dir1, dann/tmp/dir2.

Unterverzeichnisse und Dateien können natürlich in beliebiger Reihenfolge angezeigt werden.

Verwandte Themen