найти без рекурсии



можно использовать find команда каким-то образом, что он не будет рекурсировать в подкаталоги? Например,



DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2


и результат чего-то вроде find DirsRoot --donotrecuourse -type f будет только File1, File2?

612   3  

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

Я считаю, что вы ищете -maxdepth 1.

Если вы ищете POSIX-совместимое решение:

cd DirsRoot && find . -type f -print -o -name . -o -prune

- maxdepth не является POSIX-совместимым вариантом.

Comments

    Ничего не найдено.