Эквивалентный maxdepth для поиска в AIX

Я пытаюсь получить все файлы по маске в каком-то каталоге без рекурсивного поиска в subdirs. Для -maxdepth 0 в AIX нет опции -maxdepth 0 .

Я слышал о -prune , но все равно не могу понять, как это работает.

Думаю, команда должна выглядеть примерно так:

 find dir \( ! -name dir -prune -type f \) -a -name filemask 

но это не сработает.

Не могли бы вы написать правильную команду для меня и объяснить, как она будет работать?

UPD

Кажется, команда

 find dir ! -path dir -prune 

печатает все файлы и каталоги в каталоге, но не файлы и каталоги в каталоге dir/* , поэтому я могу использовать его для своего дела.

Вы хотите:

 find dir/. ! -name . -prune -type f -name filemask 

Или:

 find dir ! -path dir -prune -type f -name filemask 

Найти обычные файлы с именем filemask в filemask без поиска в подкаталогах каталога.

С find dir ! -name dir -prune find dir ! -name dir -prune , у вас возникнут проблемы, если есть каталог dir/dir .

dir/. подход работает вокруг этого, потому что find не встретит ни одного другого вызванного файла . чем этот dir/. файл передан как аргумент.

Подход -path работает вокруг него, просматривая путь к файлу файлов (в отличие от имени), -path dir будет совпадать с dir , но не с dir/dir (поэтому dir будет единственным каталогом, который не будет чернослив). -path может быть недоступен в старых версиях AIX.

В более общем плане, для стандартного эквивалента GNU -maxdepth n или FreeBSD -depth n , см. -depth n Limit POSIX find для определенной глубины?