Zoeken…


Invoering

Soms is het handig om een bestand in meerdere afzonderlijke bestanden te splitsen. Als je grote bestanden hebt, is het misschien een goed idee om het in kleinere stukken te breken

Split een bestand

Als u de opdracht Splitsen uitvoert zonder opties, wordt een bestand opgesplitst in 1 of meer afzonderlijke bestanden met elk maximaal 1000 regels.

split file

Hiermee worden bestanden gemaakt met de naam xaa , xab , xac , enz., Die elk maximaal 1000 regels bevatten. Zoals u kunt zien, krijgen ze allemaal standaard de letter x . Als het oorspronkelijke bestand minder dan 1000 regels bevat, wordt slechts één bestand gemaakt.

Om het voorvoegsel te wijzigen, voegt u het gewenste voorvoegsel toe aan het einde van de opdrachtregel

split file customprefix

Nu worden bestanden met de naam customprefixaa , customprefixab , customprefixac etc. gemaakt

Gebruik de optie -l om het aantal regels op te geven dat per bestand moet worden uitgevoerd. Het volgende splitst een bestand op in maximaal 5000 regels

split -l5000 file

OF

split --lines=5000 file

Als alternatief kunt u een maximum aantal bytes opgeven in plaats van lijnen. Dit wordt gedaan met behulp van de opties -b of --bytes . Bijvoorbeeld om maximaal 1 MB toe te staan

split --bytes=1MB file

We kunnen de optie sed met w gebruiken om een bestand in meerdere bestanden te splitsen. Bestanden kunnen worden gesplitst door een regeladres of patroon op te geven.

Stel dat we dit bronbestand hebben dat we willen splitsen:

cat -n sourcefile

1 Op de Ning Nang Nong
2 Waar de koeien naartoe gaan Bong!
3 en de apen zeggen allemaal BOO!
4 Er is een Nong Nang Ning
5 Waar de bomen heen gaan Ping!
6 En de theepotten jibber jabber joo.
7 Op de Nong Ning Nang

Opdracht om het bestand te splitsen op regelnummer:

sed '1,3w f1
> 4,7w f2' sourcefile

Dit schrijft regel1 naar regel3 in bestand f1 en regel4 naar regel7 in bestand f2, vanuit het bronbestand.

cat -n f1

1 Op de Ning Nang Nong
2 Waar de koeien naartoe gaan Bong!
3 en de apen zeggen allemaal BOO!

cat -n f2 

1 Er is een Nong Nang Ning
2 Waar de bomen heen gaan Ping!
3 En de theepotten jibber jabber joo.
4 Op de Nong Ning Nang

Opdracht om het bestand te splitsen op context / patroon:

sed '/Ning/w file1
> /Ping/w file2' sourcefile

Dit splitst het bronbestand op in file1 en file2. file1 bevat alle regels die overeenkomen met Ning, file2 bevat regels die overeenkomen met Ping.

cat file1

Op de Ning Nang Nong
Er is een Nong Nang Ning
Op de Nong Ning Nang

cat file2

Waar de bomen heen gaan Ping!



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow