найдите, что файлы с путем каталога исключают подкаталоги

Я сказал бы, что модель Unix должна позволить, записал в каталоги, которые Вы хотите, u.e./home/mpapec и запрещать доступу ООН определенные каталоги, как желаемый.

3
17.03.2015, 03:28
2 ответа

Ошибка "отсутствующая связка" заключается в том, что вы повторили имя каталога после -типа f, и find не знает, как это разобрать.

Чтобы избежать обхода подкаталогов, необходимо обрезать каталоги, а не обычные файлы. Однако, вы не должны убирать начальный каталог, иначе find не будет обрабатывать ничего, кроме него. Легкий способ распознать стартовую директорию - организовать ее имя так, чтобы оно было . .

find /opt/projectname/bin/. -name . -o -type d -prune -o -print

Explanation:

  • -name . - если имя . , [ничего не делать]
  • - иначе: -тип d - если файл является каталогом, не опускайтесь в него
  • - иначе: распечатайте путь
2
27.01.2020, 21:27

Предполагая, что ваша команда Найти Команда На самом вопросе на самом деле то, что вы набрали, вы смешали действия с корнями поиска каталогов, что приводит к сообщению об ошибке.

Я основал свое предложение на этой странице человека для HP UX Найти , которая поднимается с вашим утверждением «Нет -максдепта».

Попробуйте этот вариант вместо этого:

find /opt/projectname/bin -path '/opt/projectname/bin/*/*' -prune -o -type f -print

Я на самом деле рассмотрел этот «чистящий» альтернативную альтернативу, если я знал, что в каталоге не было «слишком много», но не может быть приемлемым для вас в вашей ситуации:

find /opt/projectname/bin/* -type f -print -o -prune
1
27.01.2020, 21:27

Теги

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