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.
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.