Dienstag, 24. Januar 2012

Split een tekstbestand in half (of een percentage) op Ubuntu Linux

Als je een logge tekstbestand dat u probeert te verwerken, te splitsen in delen kan soms helpen bij de verwerking van de tijd, zeker als we zouden gaan om een ​​bestand te importeren in een spreadsheet. Of wilt u misschien alleen maar op te halen een bepaalde set van regels uit een bestand.

Geef split, wc, staart, kat, en grep. (Vergeet niet sed en awk). Linux bevat een rijke set van hulpprogramma's voor het werken met tekst bestanden op de opdrachtregel. Voor onze taak vandaag zullen we gebruik maken splitsen en wc.

Eerst nemen we een kijkje op onze log bestand ....

> Ls-l
-Rw-rr-1 thegeek ggroup 42046520 2006-09-19 11:42 access.log

We zien dat de bestandsgrootte 42 MB is. Dat is een beetje groot ... maar hoeveel lijnen zijn we te maken met? Als we wilden deze importeren in Excel, zouden we moeten houden minder dan 65k lijnen.

Laten we gaan kijken naar de hoeveelheid regels in het bestand met de wc utility, wat staat voor "word count".

> Wc-l access.log
146330 access.log

We zijn weg over onze limiet. We moeten deze te splitsen in 3 segmenten. We gebruiken de splitsing hulpprogramma om dit te doen.

> Split-l 60000 access.log
> Ls-l

in totaal 79.124
-Rw-rw-r-1 thegeek ggroup 40465200 2006-09-19 12:00 access.log
-Rw-rw-r-1 thegeek ggroup 16.598.163 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

We hebben nu splitsen onze tekst bestanden in drie aparte bestanden, elk met minder dan 60.000 lijnen, die leek het een goed nummer te kiezen. Het laatste bestand bevat het overgebleven bedrag. Als je naar dit specifieke bestand in tweeën gesneden, zou je dit hebt gedaan:

> Split-l 73165 access.log

En, dat is alles wat er is om het te.

Keine Kommentare:

Kommentar veröffentlichen