есть куча папок в них файлы как все файлы без папок поместить в одну диру. Туплю есть пару вариантов но они извращённые задачу решил но как это красиво решается захотел узнать
Зачем плодить кучу инструментов под всякие задачи которые на самом деле редки? (мне с 2000-го года в linux ни разу не пришлось решать такую задачу) Кстати, в офтопике тоже IMHO подобной тулзы нет. :)
Ещё раз.
#!/bin/bash
for i in DIR_LIST; do
find "$i" -type f -or -type l -print0 | xargs -0 -s2000 -P0 mv --target-directory=DST_DIR
done
Во-первых, в случае одной директории этот общий случай переходит в частный, указанный товарищем выше.
Во-вторых, данный пример работает быстрее find с -exec.
В-третьих, данный пример исключает переполнение буфера аргументов командной строки.
Потому, что, насколько я знаю, он выполняет -exec последовательно, хотя с некоторой версии может накапливать аргументы для запуска (конструкция - {}+). xargs же с -P0 плодит кучу параллельных процессов.
Как-то так, мне думается.
P.S. Извини, что сразу не ответил. Не заметил вопроса из-за форматирования.