GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Linux Csplit vysvětlený pro začátečníky (6 příkladů)

Při práci na příkazovém řádku v Linuxu se můžete dostat do situací, kdy potřebujete rozdělit soubor na více částí. Pokud již hledáte způsob, jak toho dosáhnout, nebo jen chcete vědět, jak to lze provést, budete rádi, že existuje nástroj nazvaný csplit - který je pro tento účel vytvořen.

V tomto tutoriálu probereme základy tohoto nástroje a naučíme se, jak jej lze používat. Ale než to uděláme, stojí za zmínku, že všechny zde zmíněné příkazy/instrukce byly testovány na Ubuntu 16.04LTS.

Příkaz Csplit pro Linux

Zde je návod, jak jej definuje manuálová stránka příkazu:

csplit - split a file into sections determined by context lines

Následuje jeho obecná syntaxe:

csplit [OPTION]... FILE PATTERN...

Jednotlivé malé soubory vytvořené pomocí csplit mají názvy jako xx00 a xx01. Následující definice – převzatá z manuálové stránky příkazu – by měla věci objasnit:

Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte 
counts of each piece to standard output.

Následující příklady typu Q&A by vám měly poskytnout dobrou představu o tom, jak příkaz csplit funguje.

Q1. Jak rozdělit soubory na základě počtu řádků?

Předpokládejme, že váš soubor obsahuje 6 řádků a požadavek je rozdělit tento soubor na třetí řádek, pak to lze provést předáním '3' jako argumentu příkazového řádku za příkazem a názvem souboru.

Například v našem případě soubor1 obsahoval následující řádky:

1       Asia
2      Africa
3      Europe
4   North America
5   South America
6     Australia

A zde je příkaz, který jsme provedli:

csplit file1 3

Čísla vytvořená ve výstupu představují počet bajtů pro soubory vytvořené příkazem. Netřeba dodávat, že ve výstupu byly vytvořeny dva soubory, konkrétně xx00 a xx01.

Obsah těchto souborů potvrzuje, že k rozdělení došlo na řádku číslo 3.

Q2. Jak rozdělit soubory pomocí regulárních výrazů?

S příkazem csplit můžete také použít regulární výrazy. Pokud například v předchozím případě chcete, aby nástroj opakoval vzor ještě jednou, můžete to provést pomocí následujícího příkazu:

csplit file1 3 {1}

Takže v tomto případě byly vytvořeny tři výstupní soubory:

O3. Jak mít vlastní předponu namísto výchozího „xx“?

Ve výchozím nastavení mají soubory, které csplit vytváří na výstupu, předponu 'xx'. Pokud však chcete, můžete předponu změnit pomocí -f možnost příkazového řádku, která vyžaduje jako vstup novou předponu.

Například následující příkaz vytvoří soubory s předponou 'htf'.

csplit file1 1 -f htf

4. Jak donutit csplit, aby v případě chyby neodstranil výstupní soubory?

Příkaz csplit ve výchozím nastavení odstraní výstupní soubory (jakékoli, pokud byly vytvořeny), jakmile narazí na chybovou situaci. Například následující snímek obrazovky potvrzuje, že nakonec nebyl vytvořen žádný výstupní soubor:

Pokud však chcete, můžete toto chování změnit pomocí -k možnost v příkazu. Například, stejný příkaz byl proveden znovu, ale s touto volbou a výstupní soubory nebyly tentokrát odstraněny.

O5. Jak potlačit řádky, které odpovídají vstupnímu vzoru?

Příkaz csplit také poskytuje možnost potlačit řádky, které odpovídají vstupnímu vzoru. Dotyčná možnost je --suppress-matched .

Například následující příkaz rozdělí soubor (file1) na řádek 2 (xx00 bude obsahovat řádek 1, zatímco xx11 bude obsahovat zbytek řádků).

csplit file1 2

Pokud ale chcete řádek 2 potlačit, můžete spustit následující příkaz:

csplit --suppress-matched file1 2

O6. Jak použít vlastní počet číslic namísto výchozích 2?

Stejně jako samotná předpona je také přizpůsobitelný počet číslic, které následují za předponou ve výstupních názvech souborů. Předpokládejme tedy, že chcete mít jména jako xx000 a xx0001, můžete to udělat pomocí -n možnost příkazového řádku, která vyžaduje vstupní číslo označující nový počet číslic.

Například:

csplit -n 1 file1 2

Výše uvedený příkaz vytvoří názvy souborů jako xx0, xx1 atd.

Závěr

Průměrný uživatel příkazového řádku Linuxu nemusí vyžadovat csplit denně, ale rozhodně je to důležitý nástroj, o kterém byste měli alespoň vědět. Většinu základních příkladů a možností příkazového řádku jsme probrali zde. Vyzkoušejte je a poté přejděte na manuálovou stránku nástroje, kde se o něm dozvíte více.


Linux
  1. Linux unexpand Command Vysvětlený pro začátečníky (s příklady)

  2. Příkaz ukončení Linuxu vysvětlený pro začátečníky (s příklady)

  3. Linuxový příkaz objdump vysvětlený pro začátečníky (7 příkladů)

  1. Linuxový příkaz dir pro začátečníky (10 příkladů)

  2. Linuxový příkaz paste vysvětlený pro začátečníky (5 příkladů)

  3. Příkaz wc pro Linux vysvětlený pro začátečníky (6 příkladů)

  1. Linuxový příkaz dirname vysvětlený pro začátečníky (4 příklady)

  2. Linux Free Command vysvětlený pro začátečníky (6 příkladů)

  3. Příkaz Linux Head vysvětlený pro začátečníky (5 příkladů)