Rozdeliť textový súbor na polovicu (alebo akékoľvek percento) na Ubuntu Linux

Rozdeliť textový súbor na polovicu (alebo akékoľvek percento) na Ubuntu Linux
Rozdeliť textový súbor na polovicu (alebo akékoľvek percento) na Ubuntu Linux
Anonim

Ak máte ťažkopádny textový súbor, ktorý sa pokúšate spracovať, rozdelenie na sekcie môže niekedy pomôcť spracovať čas, najmä ak by sme chceli importovať súbor do tabuľky. Alebo možno budete chcieť jednoducho načítať určitý súbor riadkov zo súboru.

Zadajte rozdelené, WC, chvost, mačku a grep. (nezabudnite sed a awk). Linux obsahuje bohatú sadu nástrojov na prácu s textovými súbormi na príkazovom riadku. Pre našu úlohu dnes budeme používať split a WC.

Najprv sa pozrieme na súbor denníka ….

> ls -l -rw-r–r– 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log

Vidíme, že veľkosť súboru je 42 MB. Je to dosť veľké … ale s koľkými líniami sa zaoberáme? Ak by sme to chceli importovať do programu Excel, mali by sme ho držať menej ako 65k riadkov.

Pozrime sa na počet riadkov v súbore pomocou utility wc, čo znamená "počet slov".

> wc -l access.log 146330 access.log

Sme cez náš limit. Budeme ju musieť rozdeliť na tri segmenty. Na tento účel použijeme nástroj na rozdelenie.

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

total 79124 -rw-rw-r– 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log -rw-rw-r– 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa -rw-rw-r– 1 thegeek ggroup 16596545 2006-09-19 12:05 xab -rw-rw-r– 1 thegeek ggroup 7270492 2006-09-19 12:05 xac

Teraz sme rozdelili naše textové súbory do troch samostatných súborov, z ktorých každý obsahoval menej ako 60000 riadkov, čo sa zdalo byť dobrým číslom na výber. Posledný súbor obsahuje zvyšnú sumu. Ak by ste chceli tento súbor zložiť na polovicu, urobili by ste to:

> split -l 73165 access.log

A to je všetko, čo je k tomu.

Odporúča: