найти без рекурсии
можно использовать find команда каким-то образом, что он не будет рекурсировать в подкаталоги? Например,
DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2
и результат чего-то вроде find DirsRoot --donotrecuourse -type f будет только File1, File2?
3 ответов:
Я думаю, вы получите то, что вы хотите с
-maxdepth 1опция, основанная на вашей текущей структуре команд. Если нет, вы можете попробовать посмотреть на на странице наfind.соответствующая запись (для удобства):
-maxdepth levels Descend at most levels (a non-negative integer) levels of direc- tories below the command line arguments. `-maxdepth 0' means only apply the tests and actions to the command line arguments.ваши варианты в основном являются:
find DirsRoot/* -maxdepth 0 -type f #This does not show hidden filesили:
find DirsRoot/ -maxdepth 1 -type f #This does show hidden files
Если вы ищете POSIX-совместимое решение:
cd DirsRoot && find . -type f -print -o -name . -o -prune- maxdepth не является POSIX-совместимым вариантом.
Comments