Úvod
Linux split
příkaz rozděluje soubory na menší části a používá se pro analýzu velkých textových souborů s mnoha řádky. Zatímco každý rozdělený soubor čítá ve výchozím nastavení 1000 řádků, velikost je měnitelná.
V této příručce se dozvíte, jak používat Linux split
příkaz s příklady.

Požadavky
- Přístup k terminálové lince.
- Velký textový soubor (tento výukový program používá soubory large_text, small_text a tiny_text).
Syntaxe příkazu rozdělení Linux
Základní split
syntaxe je:
split [options] [file] [prefix]
split
příkaz nelze spustit bez zahrnutí cílového souboru. Uvedení prefixu je volitelné. Pokud není zadána žádná předpona, split
výchozí je použití x jako prefix, pojmenování vytvořených souborů následovně:xaa ,xab , xac , atd.
Možnosti příkazu rozdělení Linuxu
split
příkaz podporuje mnoho možností. Nejběžnější split
možnosti příkazu jsou:
Možnost | Popis |
---|---|
-a | Nastavit délku přípony. |
-b | Určuje velikost na výstupní soubor. |
-C | Určuje maximální velikost na výstupní soubor. |
-d | Změní výchozí přípony na číselné hodnoty. |
-e | Vynechá vytváření prázdných výstupních souborů. |
-l | Vytváří soubory s určitým počtem výstupních řádků. |
-n | Generuje určitý počet výstupních souborů. |
--verbose | Zobrazí podrobný výstup. |
Příklady rozdělených příkazů v Linuxu
split
umožňuje uživatelům rozdělovat a pracovat s velkými soubory v Linuxu. Příkaz se v praxi často používá a níže je vysvětleno 13 běžných případů použití.
Rozdělit soubory
Základní použití split
je rozdělit velké soubory na menší 1000 řádkové bloky. Například rozdělte velký_text soubor a ověřte výstup pomocí ls:
split large_text
ls

ls příkaz zobrazí 13 nových souborů, od xaa doxam . Zkontrolujte počet řádků pro každý soubor pomocí wc s -l
příznak:
wc -l large_text xa*

Cílový soubor, large_text , má 13 000 řádků. split
příkaz vytvoří 13 souborů obsahujících každý 1000 řádků. Pokud počet řádků cílového souboru není dělitelný 1000, split
počítá 1000 řádků na soubor kromě posledního. Poslední soubor má méně řádků.
Například soubor menší_text v menším_adresáři má 12934 řádků:

Rozdělit menší_text a použijte ls
pro potvrzení výsledku:
split smaller_text
ls

Jakmile je cílový soubor rozdělen, spusťte wc -l
znovu:
wc -l smaller_text xa*

Výstup ukazuje, že poslední soubor má 934 řádků, na rozdíl od ostatních 12, které mají každý 1000 řádků.
Použijte možnost podrobně
split
příkaz nevytiskne žádný výstup. Použijte --verbose
sledovat, jak split
funguje. Spuštěno split
s --verbose
zobrazí další podrobnosti:
split large_ text --verbose

Nastavit počet řádků na soubor
Chcete-li obejít výchozí pravidlo 1000 řádků, použijte -l
příznak s split
. split -l
umožňuje uživatelům nastavit počet řádků na soubor.
Například spusťte split -l2500
vytvořit soubory obsahující každý 2500 řádků a zkontrolovat počet řádků pomocí wc
:
split -l2500 large_text
wc -l large_text xa*

Příkaz vytvoří šest nových souborů. Soubory xaa do xae mít každý 2500 řádků, zatímco soubor xaf má 500 řádků, celkem 13 000.
split -l
příkaz může také vytvářet soubory s méně řádky než 1000. Například tiny_text soubor má 2693 řádků:

Rozdělte text do 500řádkových souborů pomocí:
split -l500 tiny_text

Příkaz vytiskne pět 500řádkových souborů a jeden 193řádkový soubor.
Vyberte velikost souboru
Rozdělte soubory na základě jejich velikosti pomocí split -b
. Příkaz vytvoří soubory na základě čísla (n
) z:
- Bajty s
split -bn
. - Kilobajty s
split
-bnK
. - Megabajty s
split -bnM
. - Gigabajty s
split -bnG
.
Vytvořte například soubory o velikosti 1500 kB z large_text s:
split -b1500K large_text --verbose

--verbose
možnost ukazuje, že split -bnK
vytvořil šest souborů. Chcete-li zkontrolovat velikost souboru, použijte wc -c
:
wc -c large_text xa*

Výstup ukazuje, že každý z pěti souborů má 1 536 000 bajtů a šestý je dlouhý 56 957 bajtů.
Zadejte maximální velikost
Použijte -C
pro nastavení maximální velikosti na výstupní soubor. Například rozdělit velký_text a nastavte výstupní velikost na 2 MB pomocí:
split large_text -C 2MB

wc -c
příkaz ukazuje, že rozdělení vytvořil čtyři nové soubory a že první tři mají zhruba 2 MB, zatímco čtvrtý je menší.
Nastavit počet výstupních souborů
Použijte -n
s split
k určení počtu výstupních souborů. Například rozdělit velký_text do deseti částí s:
split large_text -n 10

Rozdělit soubor na konci řádku
Další -n
použití je rozdělení souboru na konci celého řádku. Chcete-li to provést, zkombinujte -n
s l
. Například rozdělte soubor large_text do deseti souborů a končí úplným řádkem s:
split -n l/10 large_text

ls
příkaz zobrazí deset nově vytvořených souborů. Spusťte cat
na libovolném souboru, abyste ověřili, že soubor končí na celém řádku:

Zobrazit pouze zadaný výstupní soubor
split
příkaz ve výchozím nastavení vytvoří tolik souborů, kolik je potřeba k pokrytí celého zdrojového souboru. Nicméně pomocí -n
s split
rozdělí soubor, ale zobrazí pouze zadané části. Příznak také nevytváří výstupní soubory, ale tiskne výstup na terminál.
Například rozdělit maličký_text na 100 částí, ale zobrazí se pouze první s:
split -n 1/100 tiny_text

Příkaz vytiskne první rozdělený soubor na standardní výstup bez vytváření nových souborů.
Nastavit délku přípony
split
příkaz vytvoří soubory s výchozí příponou dvou písmen. Změňte délku přidáním -a
vlajka k rozdělení. Chcete-li například, aby byla přípona dlouhá 3 znaky, napište:
split -a 3 large_text

Změnit příponu
Použijte split
vytvářet soubory s různými příponami. Například rozdělte velký_text do 2500řádkových souborů s číselnými příponami:
split -l2500 -d large_text

Výstup zobrazuje šest souborů s číslovanými příponami vytvořenými pomocí -d
vlajka. -l2500
příznak rozděluje velký_text soubor do šesti 2500řádkových souborů.
Změnit předponu
split
příkaz také vytváří výstupní soubory s přizpůsobitelnými předponami. Syntaxe příkazu je:
split [file] [prefix]
Například rozdělit velký_text do deseti souborů s názvem part00 do části 09 s:
split -d large_text part -n 10

Předpona se změní z x k rozdělení a končí čísly kvůli -d
vlajka. -n
flag rozdělí soubor na deset částí.
Vynechat soubory s nulovou velikostí
Při rozdělování souborů některý výstup vrátí soubory nulové velikosti. Chcete-li zabránit nulové velikosti výstupních souborů, použijte split
s -e
vlajka. Například rozdělte xaa soubor z adresáře_tiny do 15 souborů s číselnou příponou, aby byly vynechány soubory nulové velikosti:
split -n15 -e -d xaa

Zkontrolujte velikost souboru pomocí wc -c
:
wc -c x0* x1*

Pomocí x0* a x1* protože hledané výrazy zajišťuje wc -c
vytiskne velikost všech souborů v adresáři počínaje čísly.
Znovu připojte rozdělené soubory
Zatímco split
nelze znovu připojit soubory, existuje alternativní možnost - příkaz Linux cat. Používá se k zobrazení obsahu různých souborů, cat
také znovu spojí rozdělené soubory do nového kompletního dokumentu.
Například large_text je rozdělena do deseti souborů:

Všechny výstupní soubory začínají x . Použijte cat
na všechny položky začínající x sloučit je.
Nicméně cat
vytiskne výsledek na standardní výstup. Chcete-li sloučit soubory do nového souboru, použijte >
s novým názvem souboru:
cat x* > new_large_text

Spuštěno wc -c
ukazuje, že velký_text a new_large_text jsou stejné velikosti.
Závěr
Po přečtení tohoto článku víte, jak používat Linux split
příkaz pro práci s velkými dokumenty. Dále se naučte, jak bezpečně kopírovat a přenášet soubory pomocí příkazu SCP.