Чтобы применить команду к каждому результату конвейерной операции, xargs - ваш друг.Как сказано в справочной странице, на которую я ссылался ...
xargs читает элементы из стандартного ввода, разделенные пробелами (которые могут быть защищены двойными или одинарными кавычками или обратной косой чертой) или символами новой строки, ивыполняет команду (по умолчанию / bin / echo) один или несколько раз с любыми начальными аргументами, за которыми следуют элементы, считанные из стандартного ввода.
В этом случае это означает, что каждый результат будет получен из вашего find
введите команду и выполните basename <find result>
ad nauseum, пока команда find не завершит поиск.Я верю, что то, что вы хотите, будет выглядеть примерно так:
find "$all_locks" -mindepth 1 -maxdepth 1 -type d | xargs basename