это для dry run
- если выполнено, удалите эхо перед mkdir
echo ./v_79/**/ENSG* | xargs -I% echo mkdir %/my_dir #or
echo ./v_79/**/dir_*/ENSG* | xargs -I% echo mkdir %/my_dir
вам нужно для этого bash4 и "shopt -s globstar" (например, в вашем профиле)
Если у вас слишком много каталогов, вы можете получить ошибку «список аргументов слишком длинный» (для 1-го эха). В этом случае решение с find
лучше
find v_79 -type d -print | grep '/ENSG' | xargs -I% echo mkdir %/my_dir
- найти все каталоги в v_79
- отфильтровывать только эти с именем ENSG (вы можете добавить больше «фильтров»)
- запустить (эхо) MKDIR для результата
где-то в пути может быть пробел, измените вышеприведенное с помощью:
find v_79 -type d -print0 | grep -z '/ENSG' | xargs -0 -I% echo mkdir %/my_dir
Кроме того, вы можете ограничить глубину команды поиска, например ::
find v_79 -depth 2 -type d -print0 | grep -z '/ENSG' | xargs -0 -I% echo mkdir %/my_dir
снова, все выше для пробного прогона - уберите эхо для пробега. ;)