#!/bin/bash if test "${#}" -ne 2; then printf "%s\n" \ "split file into N parts" \ "usage: $(basename $0) " exit 1 fi if ! command -v split &>/dev/null; then printf "%s\n" "split not found" exit 1 fi file="${1}" parts="${2}" filename="${file%.*}" extension="${file##*.}" total_lines=$(wc -l < "${file}") lines_per_part=$((total_lines / parts + 1)) split -l "${lines_per_part}" -d --additional-suffix=".${extension}" "${file}" "${filename}_"