Разделите текстовый файл пополам (или любой процент) в Ubuntu Linux

Если у вас есть громоздкий текстовый файл, который вы пытаетесь обработать, разбиение его на разделы иногда может помочь в обработке, особенно если мы собирались импортировать файл в электронную таблицу. Или вы можете просто извлечь определенный набор строк из файла.

Введите split, wc, tail, cat и grep. (не забывайте sed и awk). Linux содержит богатый набор утилит для работы с текстовыми файлами в командной строке. Для нашей задачи сегодня мы будем использовать split и wc.

Сначала мы взглянем на наш файл журнала …

> ls -l
-rw-r – r– 1 группа thegeek 42046520 2006-09-19 11:42 access.log

Мы видим, что размер файла составляет 42 МБ. Это довольно много … но сколько строк мы имеем дело? Если бы мы захотели импортировать это в Excel, нам нужно было бы оставить меньше 65 тыс. Строк.

Давайте проверим количество строк в файле с помощью утилиты wc, которая обозначает «количество слов».

> wc -l access.log
146330 access.log

Мы перешли наш предел. Нам нужно разделить это на 3 сегмента. Мы будем использовать утилиту split для этого.

> split -l 60000 access.log
> ls -l

всего 79124
-rw-rw-r– 1 группа thegeek 40465200 2006-09-19 12:00 access.log
-rw-rw-r– 1 группа thegeek 16598163 2006-09-19 12: 05 xaa
-rw-rw-r– 1 группа thegeek 16596545 2006-09-19 12:05 xab
-rw-rw-r– 1 группа thegeek 7270492 2006-09-19 12:05 xac

Теперь мы разделили наши текстовые файлы на 3 отдельных файла, каждый из которых содержал менее 60000 строк, что казалось хорошим выбором. Последний файл содержит остаток суммы. Если бы вы собирались разрезать этот конкретный файл пополам, вы бы сделали это:

> split -l 73165 access.log

И это все, что нужно сделать.

Оцените статью
TutoryBird.Ru
Добавить комментарий