Я могу предоставить вам несколько методов разделения текстового файла на несколько файлов с помощью сценариев Bash. Вот несколько примеров:
Метод 1: использование команды разделения
split -l 1000 input.txt output_
Эта команда разбивает файл «input.txt» на несколько файлов, каждый из которых содержит не более 1000 строк. Выходные файлы будут называться «output_aa», «output_ab», «output_ac» и т. д.
Способ 2: использование команды csplit
csplit input.txt '/^$/' '{*}' -s -f output_
Эта команда разбивает файл «input.txt» на несколько файлов на основе пустых строк. Каждый выходной файл будет называться «output_00», «output_01», «output_02» и т. д.
Метод 3. Использование собственного сценария Bash
#!/bin/bash
count=1
lines=1000
split_file_prefix="output_"
while IFS='' read -r line
do
echo "$line" >> "$split_file_prefix$count.txt"
((count++))
if [ $((count % lines)) -eq 0 ]
then
count=1
fi
done < input.txt
Этот скрипт читает файл «input.txt» построчно и записывает каждую строку в отдельные выходные файлы. Он разбивает файл через каждые 1000 строк и присваивает выходным файлам имена «output_1.txt», «output_2.txt» и т. д.