Razdelite besedilno datoteko na polovico (ali kateri koli odstotek) na Ubuntu Linux
Če imate nezadostno besedilno datoteko, ki jo poskušate obdelati, jo lahko delitev v razdelkih včasih pomaga pri obdelavi časa, še posebej, če bomo datoteko uvozili v preglednico. Ali pa boste morda želeli samo priklicati določen niz linij iz datoteke.
Vnesite split, wc, rep, cat in grep. (ne pozabite sed in awk). Linux vsebuje bogat nabor pripomočkov za delo z besedilnimi datotekami v ukazni vrstici. Za današnjo nalogo bomo uporabili split in wc.
Najprej si ogledamo našo datoteko dnevnika ... .
> ls -l
-rw-r-r- 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
Vidimo, da je velikost datoteke 42 MB. To je nekako veliko… toda s koliko vrsticami imamo opravka? Če bi želeli uvoziti to v Excel, bi ga morali ohraniti manj kot 65k.
Preverite količino vrstic v datoteki s pomočjo pripomočka wc, ki pomeni »število besed«.
> wc -l access.log
146330 access.log
Precej smo presegli mejo. Razdeliti ga bomo na 3 segmente. Za to bomo uporabili pripomoček za razdelitev.
> split -l 60000 access.log
> ls -lskupaj 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
Naše besedilne datoteke smo zdaj razdelili v 3 ločene datoteke, od katerih vsaka vsebuje manj kot 60000 vrstic, kar se je zdelo dobro izbrano število. Zadnja datoteka vsebuje preostali znesek. Če bi želeli izrezati to datoteko na pol, bi to storili:
> split -l 73165 access.log
In to je vse.