Разбить файлы по количеству строк кода на архивы
Скрипт ищет файлы в каталоге 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