Учитывая, что вы не хотите рекурсивно обращаться к каталогу, может быть достаточно простого подстановочного знака . Базовым значением является ???/
, что означает «соответствие именам каталогов, состоящим ровно из трех символов; в оболочке AIX по умолчанию для ksh вам потребуется добавить .??/
для соответствия «скрытым» каталогам, которые начинаются с точки и за которыми следуют два символа. символов (при условии, что вы считаете точку как одну из трех; используйте .???/
, если точка не считается ).
Кроме того, единственными «трюками» являются:
для использования подоболочки cd
в каталог /test; в противном случае вам нужно будет дополнительно опубликовать -процесс удаления начальных строк «/ test».
так как мы используем косую черту в конце /
, чтобы заставить подстановочный знак соответствовать каталогам (и файлам ), мы используем sed
для удаления косой черты из каждой строки.
Тогда один -вкладыш:
(cd /test; printf '%s\n' ???/.??/) | sed 's!/$!!'
С примером настройки:
mkdir /test
mkdir /test/AAA /test/BBB /test/.AB
touch /test/aaa
Результаты выборки::
AAA
BBB
.AB