Lär dig hur du delar upp en stor fil i flera mindre filer med kommandot split på Linux.

Linux tillhandahåller ett brett utbud av kommandon för textmanipulering och bearbetning, inklusive split-kommandot. Med split kan du enkelt dela upp stora filer i mindre eller extrahera specifika delar av en fil baserat på vissa kriterier.

Låt oss utforska hur man använder kommandot split för att dela filer i Linux. Oavsett om du behöver extrahera specifika delar av en stor fil eller dela upp en fil i mindre bitar, kan kommandot split hjälpa dig att nå dina mål med lätthet.

Vad är det delade kommandot?

Split-kommandot är ett populärt Linux-kommandoradsverktyg skapat av Torbjorn Granlund och Richard M. Stallman. Som namnet antyder används kommandot split för att dela upp en fil i mindre underfiler.

Det här kommandot är användbart för att hantera stora filer eller när du överför filer över nätverk med begränsad bandbredd. Genom att dela upp en stor fil i mindre delar kan du minska mängden data som behöver överföras eller lagras vid varje given tidpunkt. Du kan också vända split-kommandot för att kombinera flera filer till en.

instagram viewer

Den delade kommandosyntaxen

Den grundläggande syntaxen för split-kommandot är:

dela [ALTERNATIV]... [FIL] [PREFIX]
  • [ALTERNATIV]: Kommandot split har olika alternativ för att bestämma hur du vill att filen ska delas och andra specifika funktioner som du kan vara intresserad av att lägga till.
  • [FIL]: Detta är sökvägen till filen du vill dela.
  • [PREFIX]: Detta hänvisar till prefixet för underfilerna.

Hur man använder splitkommandot

Du kan använda kommandot split för att dela upp en stor fil i mindre filer efter storlek eller längd. Du kan till och med välja det specifika antal mindre filer du vill ha.

För demonstration använder vi en textfil med namnet largefile.txt. Välj en textfil med flera rader och en ganska stor storlek för denna handledning. Om du inte har det kan du använda en Linux-textredigerare eller kommandot cat för att klistra in en stor text och spara den.

Dela upp stora filer baserat på antalet rader

Du kan använda kommandot split för att dela upp en stor fil i mindre filer baserat på ett visst antal rader per fil. Här är syntaxen:

split -l [antal rader] [indatafil] [utdatafils prefix]

Till exempel kanske du vill dela upp en fil med 210 rader i filer på 50 rader vardera; du skulle få fem mindre filer. De första fyra filerna skulle ha 50 rader var och den femte filen skulle innehålla bara 10 rader.

För att dela upp en fil som heter "largefile.txt" i mindre filer på 100 rader vardera, kör det här kommandot:

split -l 100 storfil.txt liten fil

Lista innehållet i katalogen med hjälp av kommandot ls, och du skulle se de delade filerna.

Dela upp stora filer baserat på storlek

Du kan också använda kommandot split för att dela upp en stor fil i mindre filer baserat på en specifik filstorlek. Här är den grundläggande syntaxen:

split -b [storlek i byte] [indatafil] [utdatafils prefix]

Dela upp largefile.txt i mindre filer på 300 byte vardera genom att köra det här kommandot:

split -b 300 storfil.txt liten fil

Här är resultatet:

Dela upp en stor fil i ett visst antal filer

Du kan också dela upp en fil i ett fast antal filer oavsett antalet filer och byte i dem. Du gör detta med hjälp av -n alternativ. Här är syntaxen:

split -n [antal filer] [indatafil] [utdatafils prefix]

För att dela upp en stor fil i fem delar, kör följande kommando:

split -n 5 storfil.txt liten fil

Resultatet ska se ut så här:

Ändra suffixlängden på de delade filerna

Som du kanske har märkt är standardlängden på suffixen som är kopplade till utdatafilens namn två. Till exempel smallfileaa, liten filab, liten filac, etc.

För att ändra längden på suffixet använder du -a alternativ. Här är syntaxen för att ändra suffixets längd:

split -a [längd på suffix] [indatafil] [utdatafils prefix]

Du kan använda detta alternativ för suffixlängd tillsammans med andra delade kommandon. För att dela filen largefile.txt i 10 delar med en suffixlängd på 4, kör följande kommando:

dela -a 4 -n 10 storfil.txt liten fil

När du listar innehållet i katalogen bör utdata se ut så här:

Slå samman flera filer med cat

Den goda nyheten är att du alltid kan slå ihop delade filer igen för att producera originalfilen. För att slå ihop delade filer tillbaka till originalfilen, använd kommandot cat. Här är syntaxen för att göra det:

cat [dela filer] > [utdatafil]

När du använder kommandot cat för att slå samman delade filer är det viktigt att ange rätt ordning för de delade filerna.

Cat-kommandot sammanfogar helt enkelt filerna i den angivna ordningen, så om filerna inte är i rätt ordning kommer den sammanslagna filen att skadas.

I ett scenario där du har många delade filer, till exempel hundra delade filer, skulle det vara besvärligt att skriva in varje fil efter varandra och i rätt ordning.

Det är här prefixet kommer in. Bara genom att lägga till ett asterisktecken (*) kan du slå samman alla filer som börjar med det prefixet.

kattprefix* > [utdatafil]

Här är ett exempel på kommando som slår samman delade filer smallfileaa, smallfileab, smallfileac, och liten fil till en enda fil som heter bigfile.txt:

cat smallfile* > bigfile.txt

Detta kommando kommer att sammanfoga innehållet i alla delade filer som matchar mönstret liten fil* och omdirigera utdata till en ny fil som heter bigfile.txt. Det kommer också att lista de delade filerna i naturlig ordning baserat på deras namn, vilket bör vara rätt ordning för sammanslagning.

Kommandot split är bara ett av de många verktyg som Linux tillhandahåller för att hjälpa dig hantera stora filer effektivt genom att dela upp dem i mindre, mer hanterbara bitar.

Genom att behärska Linux-textbearbetningskommandon kan du spara tid och resurser och bli mer effektiv.