Commandes Linux : split

SPLIT

Installé avec le paquet coreutils

 

Afficher la version de la commande split

split --version

ou

apt-cache policy coreutils

 

Mode verbeux

split --verbose [...]

 

Diviser un fichier en plusieurs fichiers

Fichier source divisé en N fichiers de sortie de 1000 lignes chacun (par défaut) et ayant x pour préfixe (par défaut) :

split filename

ex :

# wc -l test.txt
12864 test.txt
# split test.txt
# wc xa*
   1000   55628  375907 xaa
   1000   55581  375662 xab
   1000   55526  375271 xac
   1000   55685  376348 xad
   1000   55503  375092 xae
   1000   55622  375832 xaf
   1000   55540  375279 xag
   1000   55566  375480 xah
   1000   55481  374908 xai
   1000   55612  375794 xaj
   1000   55562  375448 xak
   1000   55603  375681 xal
    864   48099  325042 xam
  12864  715008 4831744 total

Fichier source divisé en N fichiers de sortie de Y lignes chacun et ayant x pour préfixe (suffixe alphabétique par défaut) :

split -Y filename

ou

split -l Y filename

ex :

# wc -l test.txt
12864 test.txt
# split -1200 test.txt
# wc -l xa*
   1200 xaa
   1200 xab
   1200 xac
   1200 xad
   1200 xae
   1200 xaf
   1200 xag
   1200 xah
   1200 xai
   1200 xaj
    864 xak
  12864 total

Fichier source divisé en N fichiers de sortie de Y octets chacun et ayant x pour préfixe (suffixe alphabétique par défaut) :

split -b Y[K,M,G] filename

ex :
Taille des fichiers de sortie en octets :

# du -b test.txt
4831744	test.tx
# split -b 1000000 test.txt
# ls -l x* | sort -k 5
-rw-r--r-- 1 root root 1000000 Jul 26 01:16 xaa
-rw-r--r-- 1 root root 1000000 Jul 26 01:16 xab
-rw-r--r-- 1 root root 1000000 Jul 26 01:16 xac
-rw-r--r-- 1 root root 1000000 Jul 26 01:16 xad
-rw-r--r-- 1 root root  831744 Jul 26 01:16 xae

Taille des fichiers de sortie en mega-octets :

# du -h test.txt
4.7M	test.txt
# split -b 1M test.txt
# du -h xa*
1.0M	xaa
1.0M	xab
1.0M	xac
1.0M	xad
624K	xae

Fichier source divisé en N fichiers de sortie de 1000 lignes chacun (par défaut) et ayant x pour préfixe (suffixe numérique cette fois-ci) :

split -d filename

ou

split --numeric-suffixes=0 filename

ex :

# split -d test.txt
# ls -l x*
-rw-r--r-- 1 root root 375907 Jul 26 01:44 x00
-rw-r--r-- 1 root root 375662 Jul 26 01:44 x01
-rw-r--r-- 1 root root 375271 Jul 26 01:44 x02
-rw-r--r-- 1 root root 376348 Jul 26 01:44 x03
-rw-r--r-- 1 root root 375092 Jul 26 01:44 x04
-rw-r--r-- 1 root root 375832 Jul 26 01:44 x05
-rw-r--r-- 1 root root 375279 Jul 26 01:44 x06
-rw-r--r-- 1 root root 375480 Jul 26 01:44 x07
-rw-r--r-- 1 root root 374908 Jul 26 01:44 x08
-rw-r--r-- 1 root root 375794 Jul 26 01:44 x09
-rw-r--r-- 1 root root 375448 Jul 26 01:44 x10
-rw-r--r-- 1 root root 375681 Jul 26 01:44 x11
-rw-r--r-- 1 root root 325042 Jul 26 01:44 x12

 

Spécifier la longueur de suffixe, qu’il soit alphabétique ou numérique

split --suffix-length=N filename

 

Spécifier un suffixe numérique de départ

split --numeric-suffixes=N filename

 

Spécifier un suffixe additionnel

split --additional-suffix="N" filename

 

Spécifier un suffixe autre que x

split filename suffixe

ex :

# split --suffix-length=4 --numeric-suffixes=1000 --additional-suffix=".txt" test.txt file- --verbose
creating file 'file-1000.txt'
creating file 'file-1001.txt'
creating file 'file-1002.txt'
creating file 'file-1003.txt'
creating file 'file-1004.txt'
creating file 'file-1005.txt'
creating file 'file-1006.txt'
creating file 'file-1007.txt'
creating file 'file-1008.txt'
creating file 'file-1009.txt'
creating file 'file-1010.txt'
creating file 'file-1011.txt'
creating file 'file-1012.txt'

 

Spécifier le nombre de fichiers de sortie de tailles égales

split -nN filename

ex :

# split -n5 test.txt
# du -h xa*
944K	xaa
944K	xab
944K	xac
944K	xad
944K	xae
Fermer le menu
%d blogueurs aiment cette page :