Разбить файлы по количеству строк кода на архивы

Скрипт ищет файлы в каталоге htdocs, проверяет количество строк в них и разбивает на архивы так, чтобы суммарное количество строк в файлах архива не превышало определенное значение. На выходе - несколько архивов типа part-0.zip, part-1.zip, ...

split-kloc.sh
#!/bin/bash
 
TOTAL_LINE_NUMBER=0
LINE_NUMBER_LIMIT=400000
ARCH_NUMBER=0
 
find htdocs -type f -name '*.php' -print0 | while read -d $'\0' FILE; do
  LINE_NUMBER=`cat "$FILE" | wc -l`
  if [[ "$((TOTAL_LINE_NUMBER + LINE_NUMBER))" -lt "$LINE_NUMBER_LIMIT" ]]; then
    # продолжаем писать
    TOTAL_LINE_NUMBER=$((TOTAL_LINE_NUMBER + LINE_NUMBER))
  else
    # новый архив
    TOTAL_LINE_NUMBER=$LINE_NUMBER
    ARCH_NUMBER=$((ARCH_NUMBER + 1))
  fi
 
  zip part-$ARCH_NUMBER.zip -0 "$FILE"
 
done
Печать/экспорт