Можно ли find
каким-то образом использовать команду, чтобы она не повторялась в подкаталогах? Например,
DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2
И результат чего-то вроде find DirsRoot --donotrecuourse -type f
будет только File1, File2
?
-maxdepth 1
?1
, вероятно, то, что он хочет.-maxdepth 0
не показывает никаких файлов, но-maxdepth 1
работает как задумано, с скрытыми файлами, которые также отображаются.*
инfind DirsRoot/* -maxdepth 0 -type f
. Если вы пропустите это, он не будет показывать никаких файлов.Я верю, что вы ищете
-maxdepth 1
.источник
-maxdepth 1
?Если вы ищете POSIX-совместимое решение:
cd DirsRoot && find . -type f -print -o -name . -o -prune
-maxdepth не является POSIX-совместимым параметром.
источник
find DirsRoot/* -type f -prune
?-prune
btw) Ответ - нет, он не может. Чтобы полностью понять, ПОЧЕМУ это нельзя упростить, просто отправьтеset -x
команду перед отправкой,find DirsRoot/* -type f -o -prune
и вы сразу увидите это сами. Коренная причина - ограничения расширенияDirsRoot/*
выражения оболочки .find . -name . -o -prune