Это должно сработать:
find /path/to/base/folder/ -type d -name 'sub*' -exec bash -c 'mv {}/* "$(dirname {})"' \;
ПРИМЕЧАНИЕ : при этом не будут перемещаться скрытые файлы (чьи имена начинаются с .
)
На двух машинах работают разные версии Perl, и разница в оболочках здесь ни при чем.
Perl на HP -UX, в соответствии с Archemar , Perl 5.8.8 и позитивный вид -после escape \K
и \h
escape для горизонтального пробела были добавлены в Perl 5.10 . Вот почему два Perl дают разные результаты.