Можно ли исключить каталог из команды поиска? [duplicate]

Если это просто иерархия папок с глубиной n (предположим, с глубиной 2), я считаю, что это полезно:

ls -laht --full-time */*
28
09.03.2017, 06:23
4 ответа

Это то, для чего предназначена опция -prune :

find . -type d -name "avoid_this_directory_please" -prune -o -type f -print

В основном это говорит: «Если есть каталог с именем , избегайте_этого_каталога , не вводите его, в противном случае, если это обычный файл, выведите его путь ".

50
27.01.2020, 19:39

Из человек находит в разделе -path , очевидно, объединяя два других ответа

To  ignore a whole directory tree, use -prune rather than
checking every file in the tree.  For example, to skip the directory
`src/emacs'  and  all  files and directories under it, and print the
names of the other files found, do something like this:

          find . -path ./src/emacs -prune -o -print
9
27.01.2020, 19:39

Попробуйте это

find -name "*.js" -not -path "./directory/*"
7
27.01.2020, 19:39

Чтобы избежать каталога, попробуйте выполнить тест -path:

find . -type f ! -path '*/avoid_this_directory_please/*'
14
27.01.2020, 19:39

Теги

Похожие вопросы