Sök…


Introduktion

Ibland är det bra att dela en fil i flera separata filer. Om du har stora filer kan det vara en bra idé att dela upp dem i mindre bitar

Dela upp en fil

Att köra split-kommandot utan några alternativ kommer att dela upp en fil i 1 eller flera separata filer som innehåller upp till 1000 rader vardera.

split file

Detta skapar filer med namnet xaa , xab , xac , etc, var och en med upp till 1000 rader. Som ni ser är alla som standard förbokade med bokstaven x . Om den ursprungliga filen var mindre än 1000 rader skulle bara en sådan fil skapas.

För att ändra prefixet lägger du till önskat prefix i slutet av kommandoraden

split file customprefix

Nu customprefixaa filer med namnet customprefixaa , customprefixab , customprefixac etc.

-l alternativet -l att ange antalet rader som ska matas ut per fil. Följande kommer att dela upp en fil i högst 5000 rader

split -l5000 file

ELLER

split --lines=5000 file

Alternativt kan du ange ett maximalt antal byte istället för rader. Detta görs med alternativen -b eller --bytes . Till exempel för att tillåta högst 1 MB

split --bytes=1MB file

Vi kan använda sed with w-alternativet för att dela upp en fil i flera filer. Filer kan delas genom att ange radadress eller mönster.

Anta att vi har den här källfilen som vi vill dela:

cat -n sourcefile

1 På Ning Nang Nong
2 Där korna går Bong!
3 och aporna säger alla BOO!
4 Det finns en Nong Nang Ning
5 Där träden går Ping!
6 Och tepannorna jibber jabber joo.
7 På Nong Ning Nang

Kommando för att dela filen efter radnummer:

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

Detta skriver linje1 till linje3 till fil f1 och linje4 till linje7 till fil f2, från källfilen.

cat -n f1

1 På Ning Nang Nong
2 Där korna går Bong!
3 och aporna säger alla BOO!

cat -n f2 

1 Det finns en Nong Nang Ning
2 Där träden går Ping!
3 Och tepannorna jibber jabber joo.
4 På Nong Ning Nang

Kommando för att dela filen efter sammanhang / mönster:

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

Detta delar källfilen till fil1 och fil2. file1 innehåller alla rader som matchar Ning, file2 innehåller rader som matchar Ping.

cat file1

På Ning Nang Nong
Det finns en Nong Nang Ning
På Nong Ning Nang

cat file2

Där träden går Ping!



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow