Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

csplit är ett populärt kommandoradsverktyg för Linux som används för att dela upp innehållet i en fil i två. Filen du behöver ändra måste vara en textfil med en ".Text" förlängning.

Kommandot är lätt att använda och fungerar bra på alla Linux-distributioner. Med hjälp av olika flaggor tillgängliga för csplit, kan du också ändra utdata enligt dina behov.

Så här använder du csplit för att dela en fil på Linux.

Vad är csplit?

Används på Linux och andra Unix-liknande operativsystem, kan csplit dela en fil i individuella filer som bestäms av kontextrader.

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

csplit[ALTERNATIV][MÖNSTER]

csplit vs. dela

De flesta Linux-användare gillar att använda kommandot split när det gäller att dela upp en fil i flera mindre filer. Problemet med det här kommandot är att det förlitar sig på bytestorleken eller radstorleken för att dela upp filerna.

instagram viewer

Detta är inte möjligt i scenarier där du vill dela upp filerna baserat på deras innehåll, snarare än deras storlek. Det är då csplit kommer till undsättning eftersom den delar upp filen i fasta bitar baserat på innehållet istället för antal byte.

Hur man installerar csplit på Linux

csplit kommer förinstallerat på nästan alla Linux-distributioner. Men om du möter ett "csplit: kommando hittades inte"-felet betyder det att verktyget inte är installerat på ditt system. För att installera csplit på Ubuntu, kör:

sudo apt-skaffa sig installera coreutils

På Arch Linux, kör:

sudo pacman -S coreutils

För att installera csplit på Fedora och RHEL:

sudo dnf Installera coreutils

Hur man använder csplit på Linux

För att se hur csplit fungerar, skapa en textfil på ditt system. Använda sig av pekkommandot för att skapa en tom fil.

Rörfilnamn.Text

När du har skapat filen öppnar du den med nanoredigeraren för att ändra dess innehåll.

nanofilnamn.Text

När du har lagt till lite innehåll i filen trycker du på Ctrl + X och då Y för att spara och stänga den.

För att verifiera filinnehållet med kattkommandot, springa:

katt filnamn

Använd kommandot csplit för att dela en fil

För att förstå hur csplit fungerar, titta först på innehållet i filen som används här som ett exempel.

Filen innehåller nio rader från nummer 1 till 9. Om du måste dela upp filen i två, hur kommer du att berätta för csplit vilket innehåll som ska skickas till den första filen och vilket till den andra? Det är lätt. I kommandot behöver du bara tala om för csplit från vilken rad du ska starta delingen.

Detta görs genom att ange radnumret. Till exempel, om du vill dela filen från den tredje raden med ordet "London", kommer du att nämna 3 i kommandot. Ange kommandot så här:

csplitfilnamn.Text 3

Detta kommando kommer omedelbart att dela upp filen i två. Använda sig av kommandot ls för att lista ner allt kataloginnehåll för att se utdatafilerna. Du hittar de nya filerna med namnen xx00 och xx01 vid sidan av originalfilen.

Använd kommandot cat för att verifiera innehållet i båda filerna.

Som du kan se dela csplit filen i två delar från den tredje raden enligt kommandot.

Kommandoalternativen csplit

Här är några av kommandoradsalternativen för csplit som du kan använda:

1. Ändra prefixet för utdatafiler

Även känd som prefixflaggan, -f ändrar prefixet i filnamnet. Du kanske har märkt när csplit delar upp filen, de nya filerna som skapats har xx som prefix i filnamnen. Du kan ändra det genom att använda -f flagga i kommandot.

Till exempel om du vill att filnamnen ska ha abc som ett prefix istället för xx, utfärda kommandot så här:

csplit-fabcfilnamn.Text 3

Som synligt, efter uppdelningen, har båda filerna abc som prefix i namnen.

2. Spara filerna när fel uppstår

De -k eller den --Keep-filer alternativet tar inte bort utdatafilerna om det finns ett fel i csplit-kommandot.

Ge följande felaktiga kommando:

csplit -k randomfile.txt 2 {3}

3. Ändra antalet siffror i filnamnet

Med det här alternativet kan du tala om för csplit-kommandot hur många siffror du vill se i filnamnet efter prefixet. Det kallas också för siffror flagga.

Ge följande kommando för att bara behålla en siffra i filnamnet:

csplit-n 1 randomfil.Text 2

Utan -n flagga, som standard kommer du att se två siffror i filnamnet.

4. Dela filen utan att mata ut storleksräkning

Även känd som den tysta flaggan -s flaggan delar upp filen utan att nämna storleksantalet för utdatafilerna.

csplit-srandomfil.Text 3

5. Visa kommandoradshjälpen

För att se detaljer om alla tillgängliga alternativ för csplit, använd -h eller --hjälp flagga i kommandot.

csplit --hjälp

6. Kontrollera csplit-versionsnumret

För att se vilken version av csplit du använder, kör kommandot med --version flagga:

csplit --version

7. Utelämna en specifik rad medan du delar

Du kan också använda --undertryck-matchad kommandoradsalternativ för att utelämna en viss rad när du delar upp filen.

csplit--undertryck-matchadfilnamn.Text 5

När du skapar de två filerna kommer csplit att ignorera den femte raden och dela upp filen från nästa rad.

Den femte raden i originalfilen har ordet "Berlin". I utdatafilen utelämnades "Berlin".

Dela filer enkelt med ett enda kommando på Linux

Det finns många kommandoradsverktyg tillgängliga för att hantera filer på ett Linux-system. En av dem är csplit. Som standard är den tillgänglig på alla Linux-system. Om inte, kan du helt enkelt installera det via kommandoraden.

csplit är ett enkelt och effektivt sätt att dela en fil när du måste dela upp filen baserat på dess innehåll. csplit kommer med olika kommandoradsalternativ som ger dig flexibiliteten att skräddarsy utdata som du vill. Det finns flera kommandoradsverktyg för att se innehållet i en fil på Linux om du vill kontrollera filerna efter uppdelningen.