Hjemmeside » hvordan » 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

    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 behandler vi? 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 skal opdele dette i 3 segmenter. Vi bruger split-værktøjet til at gøre dette.

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

    i alt 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 resterende beløb. Hvis du skulle skære denne fil i halvdelen, ville du have gjort dette:

    > split -l 73165 access.log

    Og det er alt der er til det.