Opdel en tekstfil i halvdelen (eller en hvilken som helst procent) på Ubuntu Linux

Opdel en tekstfil i halvdelen (eller en hvilken som helst procent) på Ubuntu Linux
Opdel en tekstfil i halvdelen (eller en hvilken som helst procent) på Ubuntu Linux
Anonim

Hvis du har en uigennemsigtig tekstfil, som du forsøger at behandle, kan opdeling i sektioner undertiden hjælpe med at behandle tid, især hvis vi skulle importere en fil til et regneark. Eller du vil måske bare hente et bestemt sæt linjer fra en fil.

Indtast split, wc, hale, kat og grep. (glem ikke sed og awk). Linux indeholder et rigt sæt værktøjer til at arbejde med tekstfiler på kommandolinjen. Til vores opgave i dag bruger vi split og wc.

Først tager vi et kig på vores logfil ….

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

Vi ser at filstørrelsen er 42 MB. Det er lidt stort … men hvor mange linjer har vi at gøre med? Hvis vi ville importere dette til Excel, ville vi skulle holde det mindre end 65k linjer.

Lad os kontrollere mængden af linjer i filen ved hjælp af wc-hjælpeprogrammet, som står for "ordtælling".

> wc -l access.log 146330 access.log

Vi er langt over vores grænse. Vi bliver nødt til at opdele dette i 3 segmenter. Vi bruger delingsværktøjet til at gøre dette.

> 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

Vi har nu opdelt vores tekstfiler i 3 separate filer, der hver indeholder mindre end 60000 linjer, som syntes at være et godt nummer at vælge. Den sidste fil indeholder restbeløbet. Hvis du skulle klippe denne fil i halv, ville du have gjort dette:

> split -l 73165 access.log

Og det er alt der er til det.

Populært emne.

Ekspertråd