74

Существует ли инструмент для разделения большого текстового файла (9 ГБ) на файлы меньшего размера, чтобы я мог открыть его и просмотреть?

Что-нибудь полезное из командной строки, которое идет с Windows (XP)?

Или как лучше разделить это? Могу ли я использовать 7z для создания отдельных томов, а затем распаковать один из них отдельно? Будет ли он читаемым или ему понадобятся все остальные части, чтобы снова распаковать в большой файл?

Обновить

Я собрал быстрый 48-строчный Python-скрипт, который разбивает большой файл на файлы размером 0,5 ГБ, которые легко открывать даже в vim. Мне просто нужно просмотреть данные к последней части журнала (да, это файл журнала). Каждая запись разбита на несколько строк, поэтому grep не будет делать.

7 ответов7

41

Существует бесплатный разветвитель файлов Windows под названием HJSplit.

Доступно здесь. Сайт утверждает, что может разбивать файлы любого типа и размера, но 9 ГБ - это большой файл.

22

Пакет GNU Core Utils (доступен здесь для Windows) включает в себя утилиту 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 to standard error just
                            before each output file is opened
      --help     display this help and exit
      --version  output version information and exit

SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.

Например, чтобы разделить input.txt на 100-мегабайтные куски, разделяя только на концах строк,

split input.txt -C 100m

выдаст вам файлы с именами xaa, xab, xac и т. д.

14

Другой - GSplit - в соответствии с их сайтом он может разбивать очень большие файлы (больше чем 4 ГБ <- так как они превысили предел 4 ГБ, я думаю, что они также могут сделать 9 ГБ).

Но, другое дело - вы говорите, что хотите разбить его на более мелкие части, чтобы вы могли открыть его и посмотреть на него. Это звучит как очень большой, возможно, файл журнала.

В любом случае, для открытия больших текстовых файлов я могу порекомендовать EmEditor - они утверждают, что он может открывать очень большие файлы (до cca. 250 Гб), и я использовал его в прошлом для файлов до 2 Гб. Но в любом случае, я думаю, что это может быть лучшим решением, чем расщепление.

8

Проверьте Средство просмотра больших текстовых файлов, оно отлично подходит для таких вещей. Большинство архиваторов и разделителей разделяют файл на части, которые нельзя использовать для независимого и правильного чтения каждого фрагмента данных, вам нужно извлечь их все, чтобы получить файл обратно.

альтернативный текст

Большой текстовый файл просмотра является бесплатным и портативным.

6

Можно использовать 7-Zip для создания сегментов текстового файла определенного размера (например, 100 МБ сегментов из 1,5 ГБ файла журнала).

Ключевыми параметрами являются - Использовать "Store" вместо "Compress" - Использовать "Split to volume"

Вы должны видеть текст в файлах .001 (.nnn).

4

Вы можете использовать сам 7zip для разделения файлов. (Вы можете сохранить в формате .zip или .7z.) Когда вы идете, чтобы создать архив, есть опция под названием «Разделить объем, байты». Просто выберите, насколько большой вы хотите куски.

И да, вы можете распаковать их по отдельности, если хотите.

Сплит файлы в 7zip

1

Существует онлайн-инструмент, который разбивает текстовые файлы, если кто-то хочет быстро разбить файлы. http://www.textfilesplitter.com.

Прекрасно работает для меня. И разбивает файлы в соответствии со строками, что я и искал. Он также говорит, что все это на стороне клиента HTML5, поэтому его можно использовать безопасно. Я не уверен, насколько большой это может пойти, но я думаю, что это зависит от барана вашей машины.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .