На днях возникла задача разбить 19 мегабайтный файл (ссылки на профили, собранными для дальнейшего извлечения маркетинговой информации) с почти 50 000 строк на небольшие файлы, скажем по 500 строк, для дальнейшей обработки. Сгоряча начал даже набрасывать небольшой скрипт на python, потом внезапно обнаружил (погуглил), что в linux есть замечательная команда - split
user@machine:~$ split --help Usage: split [OPTION]... [INPUT [PREFIX]] Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUT is -, read standard input. Mandatory arguments to long options are mandatory for short options too. -a, --suffix-length=N use suffixes of length N (default 2) -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes use numeric suffixes instead of alphabetic -l, --lines=NUMBER put NUMBER lines per output file --verbose print a diagnostic just before each output file is opened --help display this help and exit --version output version information and exit
Пример использования:
split -d -l 450 -a 5 file.txt
Надеюсь это сэкономит кому-то время )