Ако имате труден текстов файл, който се опитвате да обработите, разделянето му на части може понякога да помогне за обработването на време, особено ако щяхме да импортираме файл в електронна таблица. Или може да искате просто да изтеглите определен набор от линии от файл.
Въведете разделена, WC, опашка, котка и греп. (не забравяйте sed и awk). Linux съдържа богат набор от помощни програми за работа с текстови файлове на командния ред. За нашата задача днес ще използваме сплит и тоалетна.
Първо погледнете нашия регистрационен файл ....
> ls -l
-rw-r-r- 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
Виждаме, че размерът на файла е 42 МБ. Това е доста голямо ... но колко линии имаме? Ако искахме да внесем това в Excel, ще трябва да го запазим по-малко от 65k линии.
Нека проверим количеството линии във файла, използвайки помощната програма на wc, която означава "брой думи".
> wc -l access.log
146330 access.log
Ние сме над нашия лимит. Ще трябва да разделим това на три сегмента. Ще използваме програмата за разделяне, за да направим това.
> разделяне-l 60000 access.log
> ls -lобщо 79124
-rw-rw-r- 1 thegeek ggroup 40465200 2006-09-19 12:00 ч. access.log
-rw-rw-r- 1 thegeek ggroup xxx
-rw-rw-r-1 thegeek ggroup 16.096545 2006-09-19 12:05 xab
-rw-rw-r- 1 thegeek ggroup 7270492 2006-09-19 12:05 xac
Разделихме текстовите ни файлове на три отделни файла, всеки от които съдържа по-малко от 60000 реда, което изглеждаше като добър номер, който да изберем. Последният файл съдържа остатъка. Ако щяхте да отрежете този файл наполовина, щяхте да направите това:
> разделяне -l 73165 access.log
И това е всичко, което има.