Ist es möglich, den find
Befehl so zu verwenden, dass er nicht in die Unterverzeichnisse zurückkehrt? Beispielsweise,
DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2
Und das Ergebnis von so etwas find DirsRoot --donotrecuourse -type f
wird nur sein File1, File2
?
-maxdepth 1
?1
ist es wahrscheinlich, was er will.-maxdepth 0
wird keine Datei-maxdepth 1
angezeigt, aber es funktioniert wie beabsichtigt, und versteckte Dateien werden ebenfalls angezeigt.*
infind DirsRoot/* -maxdepth 0 -type f
. Wenn Sie das weglassen, werden keine Dateien angezeigt.Ich glaube du suchst
-maxdepth 1
.quelle
-maxdepth 1
?Wenn Sie nach einer POSIX-kompatiblen Lösung suchen:
cd DirsRoot && find . -type f -print -o -name . -o -prune
-maxdepth ist keine POSIX-kompatible Option.
quelle
find DirsRoot/* -type f -prune
?-prune
übrigens einzufügen) Die Antwort ist nein, kann es nicht. Um vollständig zu verstehen, WARUM es nicht vereinfacht werden kann, geben Sie einfach einenset -x
Befehl aus, bevorfind DirsRoot/* -type f -o -prune
Sie den ausgeben, und Sie werden ihn sofort selbst sehen. Die Hauptursache sind die Einschränkungen der Shell-Erweiterung desDirsRoot/*
Ausdrucks.find . -name . -o -prune