Предположим, у меня много файлов в каталоге, и мне нужно объединить кластеры до 100 файлов в новый файл.

Как я мог сделать это в Bash?

Для целей этого вопроса давайте предположим, что мне не нужно сортировать их каким-либо образом перед кластеризацией

1 ответ1

1

Вы можете использовать find + xargs:

find -maxdepth 1 -type f -print0 | xargs -0 -n100 process.sh

xargs группирует файлы по сотням, find помогает понять файлы с пробелами в их именах.

Обновление:

В process.sh просто найдите первое несуществующее имя и создайте файл:

i=0
while [[ -f concatenated-$i ]] ; do (( i++ )) ; done
cat "$@" > concatenated-$i

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .