Máte-li obtížný textový soubor, který se pokoušíte zpracovat, rozdělení v částech může někdy pomoci zpracování času, zvláště pokud bychom importovali soubor do tabulky. Nebo můžete chtít pouze získat konkrétní soubor řádků ze souboru.

Zadejte rozdělení, WC, ocas, kočku a grep. (nezapomeňte sed a awk). Linux obsahuje bohatou sadu nástrojů pro práci s textovými soubory na příkazovém řádku. Pro náš úkol dnes použijeme split a WC.

Nejprve se podíváme na náš protokolový soubor ....

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

Vidíme, že velikost souboru je 42 MB. Je to dost velké ... ale kolik řádků se zabýváme? Pokud bychom to chtěli importovat do aplikace Excel, museli bychom ji udržet méně než 65k řádků.

Zkontrolujte množství řádků v souboru pomocí nástroje wc, což znamená "počet slov".

> wc -l access.log146330 access.log

Jdeme nad náš limit. Musíme to rozdělit na 3 segmenty. Pro tento účel použijeme rozdělovací nástroj.

> 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

Nyní rozdělilame naše textové soubory do 3 samostatných souborů, z nichž každý obsahoval méně než 60000 řádků, což se zdálo jako dobré číslo. Poslední soubor obsahuje zbývající částku. Pokud byste chtěl snížit tento soubor na polovinu, tak byste to udělali:

> split -l 73165 access.log

A to je vše, co je k tomu.

Nejlepší Tipy:
Komentář: