Когда я делаю:Есть ли способ предотвратить поиск от рекурсивного поиска в подкаталоги?
$ find/
Он ищет всю систему.
Как это предотвратить?
(Этот вопрос приходит из "answer" на другой вопрос.)
Когда я делаю:Есть ли способ предотвратить поиск от рекурсивного поиска в подкаталоги?
$ find/
Он ищет всю систему.
Как это предотвратить?
(Этот вопрос приходит из "answer" на другой вопрос.)
G'day,
Просто хотел расширить предложение от Джона использовать -prune. Это не самое простое из вариантов поиска, чтобы использовать, например, просто поиск в текущем каталоге команда находки выглядит как:
find . \(-type d ! -name . -prune \) -o \(<the bit you want to look for> \)
это остановит найти от сползания в подкаталоги внутри этого каталога.
В принципе, он говорит: «Обрезайте все, что есть каталог, имя которого не указано.», То есть текущий каталог. »
Команда find указана слева направо для каждого элемента, найденного в текущем каталоге, поэтому после завершения первого элемента, то есть сегмента обрезки, он будет продолжен с совпадающим элементом во втором -o (OR'd).
HTH.
веселит, Роб
Используйте опцию -prune.
Возможно, вам будет лучше использовать подстановочные знаки. Например, если вы хотите, чтобы найти все КШ скрипты в текущем каталоге:
$ ls *.ksh
Рассмотрим:
-maxdepth n
True if the depth of the current file into the tree is less than
or equal to n.
-mindepth n
True if the depth of the current file into the tree is greater
than or equal to n.
Вы можете даже сделать
echo /specific/dir/*.jpg
, как это ваша оболочка, которая расширяет подстановочные. Typing
ls *.jpg
эквивалентно печатая
ls foo.jpg bar.jpg
дал foo.jpg и bar.jpg все файлы, которые заканчиваются на ".jpg" в текущем каталоге.
Обратите внимание, что -maxdepth и -mindepth не являются переносимыми. GNU find имеет эти параметры и может быть установлен, если необходимо, однако. – 2008-09-08 22:47:09