Social Profiles

My Projects

Разбить большой файл на несколько частей. Linux

На днях возникла задача разбить 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

Надеюсь это сэкономит кому-то время )

comments powered by Disqus