GNU/Linux >> Tutoriels Linux >  >> Linux

Comment diviser et combiner des fichiers à partir de la ligne de commande sous Linux

Dans ce bref tutoriel, je vais montrer comment diviser et combiner des fichiers à partir de la ligne de commande dans les systèmes d'exploitation Linux et Unix à l'aide des commandes "split" et "cat".

J'ai beaucoup de vidéos de didacticiel Linux sur mon bureau Linux et je voulais toutes les déplacer vers mon Google Drive. Le problème est que la taille de certains fichiers vidéo dépasse 1 Gio. Ce n'est pratiquement pas une bonne approche de télécharger des fichiers aussi volumineux sur le lecteur Google. Même si Google Drive nous permet de télécharger des fichiers jusqu'à 5 To, je trouve que le processus de téléchargement de tous les gros fichiers prend beaucoup de temps.

En réfléchissant à ce problème, j'ai pensé que ce serait bien mieux si je pouvais diviser ces fichiers en plus petites tailles et les télécharger un par un. Je peux alors télécharger toutes les parties du fichier et les combiner toutes, quand je veux. C'est juste un exemple. Vous pouvez avoir différentes raisons de diviser un gros fichier en plusieurs morceaux et de les combiner plus tard. Si vous avez déjà été dans cette situation, n'ayez pas peur. Il existe un utilitaire de ligne de commande simple appelé "split" qui est utilisé pour diviser les gros fichiers en plusieurs fichiers plus petits. Vous pouvez tous les joindre plus tard pour créer un seul fichier.

Diviser et combiner des fichiers à partir de la ligne de commande sous Linux

Voyons d'abord comment diviser un gros fichier en plusieurs petits fichiers.

Diviser des fichiers sous Linux à partir de la ligne de commande

Regardez la taille du fichier vidéo suivant.

$ du -h Linux\ Security.mp4

Exemple de résultat :

1.1G Linux Security.mp4

Comme vous le voyez, la taille du fichier vidéo est de 1,1 Gio, ce qui est très volumineux à télécharger sur mon lecteur Google. Même si Google Drive permet aux utilisateurs de télécharger des fichiers jusqu'à 5 To en taille, c'est vraiment un processus qui prend du temps. Avec ma connexion Internet à faible vitesse, je suppose que le téléchargement prendrait plus de 30 minutes. Je ne veux pas attendre plus longtemps. Donc, ce que je vais faire, c'est diviser ce fichier en plusieurs fichiers de plus petite taille, par exemple 100 Mo chacun, pour accélérer le processus de téléchargement.

Maintenant, divisons le fichier ci-dessus en plusieurs fichiers plus petits, disons par exemple 100 Mo chacun. Pour ce faire, exécutez :

$ split -b 100M Linux\ Security.mp4 ls.

La commande ci-dessus divise le fichier Linux Security.mp4 en morceaux de 100 Mo. Cette commande crée des fichiers nommés ls.aa , ls.ab , ls.ac .. et ainsi de suite.

Jetons un coup d'œil à la sortie après avoir divisé le gros fichier.

$ ls

Exemple de résultat :

'Linux Security.mp4' ls.ab ls.ad ls.af ls.ah ls.aj
 ls.aa ls.ac ls.ae ls.ag ls.ai ls.ak

Voir? Le fichier Linux Security.mp4 a été divisé en plusieurs fichiers nommés ls.aa, ls.ab .... ls.ak etc. La taille de chaque fichier est de 100 Mo.

Maintenant, il est un peu facile de les envoyer en pièce jointe.

Combiner des fichiers sous Linux à partir de la ligne de commande

Enregistrez tous les fichiers dans un dossier. Et ensuite, allez dans ce dossier et combinez-les comme suit.

$ cat ls.?? > Linux_security.mp4

Ici, Linux_security.mp4 est le nom du fichier de sortie. Les doubles points d'interrogation (?? ) correspondent à n'importe quelle extension à deux caractères dans le nom de fichier. Pour faire simple, la partie du nom de fichier ls.?? correspond à tous les noms de fichiers tels que ls.aa, ls.ab ..etc., et les combine tous en un seul fichier. N'oubliez pas que cette commande combinera tous les fichiers contenant des extensions à deux caractères. Alors, soyez sûr avant de combiner des fichiers. S'il existe d'autres fichiers avec des extensions à deux lettres, ils seront également fusionnés dans le fichier de sortie.

N'oubliez pas non plus de mentionner la bonne extension lors de la fusion. Si vous souhaitez envoyer tous les fichiers par courrier à votre ami, indiquez-lui l'extension correcte des fichiers que vous avez envoyés. Il/elle doit utiliser la même extension de fichier dans le fichier de sortie tout en les combinant.

Si vous ne spécifiez aucun argument dans la commande split, le fichier sera divisé en plusieurs fichiers plus petits avec x comme noms de fichiers. Chaque fichier contiendrait 1000 lignes par défaut. Ici, est le suffixe à deux caractères qui est ajouté par défaut avec chaque nom de fichier.

Séparons le même fichier en utilisant la commande split sans spécifier d'arguments supplémentaires comme ci-dessous.

$ split Linux\ Security.mp4

Cette commande divise le fichier de sécurité Linux en plusieurs fichiers plus petits avec x** comme noms de fichiers.

Exécutez la commande 'ls' pour afficher les fichiers :

$ ls

Exemple de sortie :

Linux Security.mp4 xaj xat xbd xbn xbx xch xcr xdb xdl xdv xef xep xez xfj
xaa xak xau xbe xbo xby xci xcs xdc xdm xdw xeg xeq xfa xfk
xab xal xav xbf xbp xbz xcj xct xdd xdn xdx xeh xer xfb xfl
xac xam xaw xbg xbq xca xck xcu xde xdo xdy xei xes xfc xfm
xad xan xax xbh xbr xcb xcl xcv xdf xdp xdz xej xet xfd
xae xao xay xbi xbs xcc xcm xcw xdg xdq xea xek xeu xfe
xaf xap xaz xbj xbt xcd xcn xcx xdh xdr xeb xel xev xff
xag xaq xba xbk xbu xce xco xcy xdi xds xec xem xew xfg
xah xar xbb xbl xbv xcf xcp xcz xdj xdt xed xen xex xfh
xai xas xbc xbm xbw xcg xcq xda xdk xdu xee xeo xey xfi

Chaque fichier doit contenir 1000 lignes. Vous pouvez également le vérifier en utilisant wc (nombre de mots) comme indiqué ci-dessous.

$ wc -l *

Exemple de sortie :

142891 Linux Security.mp4
 1000 xaa
 1000 xab
 1000 xac
 1000 xad
 1000 xae
 1000 xaf
 1000 xag
 1000 xah
 .
 .
 .
 1000 xfl
 891 xfm
 285782 total

Pour combiner tous ces fichiers, exécutez :

$ cat x* > ls.mp4

La commande ci-dessus combinera tous les fichiers en un seul fichier appelé ls.mp4 .

Pour plus de détails, consultez les pages de manuel.

$ man split

Recommander la lecture :

  • Comment diviser ou extraire des pages particulières d'un fichier PDF
  • Comment fusionner des fichiers PDF en ligne de commande sous Linux

Conclusion

Il pourrait y avoir d'autres outils CLI et GUI disponibles sous Linux pour diviser ou combiner des fichiers. Mais, 'split' est une commande intégrée qui est pré-installée. Donc, ne vous embêtez pas à installer des outils supplémentaires sur votre machine Linux. De plus, la commande split divise rapidement le fichier en plusieurs morceaux.


Linux
  1. Comment prévenir et récupérer de la suppression accidentelle de fichiers sous Linux

  2. Commande SCP Linux - Comment transférer un fichier SSH de distant à local

  3. Comment extraire les fichiers .gz et .tar.gz sous Linux

  4. Comment supprimer des fichiers et des répertoires dans la ligne de commande Linux [Tutoriel du débutant]

  5. Comment diviser un iso ou un fichier à l'aide de la commande 'split' sous Linux

Commande Ls sous Linux (liste des fichiers et des répertoires)

Comment copier des fichiers et des répertoires sous Linux

Comment déplacer des fichiers et des répertoires sous Linux (commande mv)

Comment rechercher des fichiers à partir de la ligne de commande Linux

Comment extraire le fichier Tar.xz sur la ligne de commande Linux

Comment vérifier l'utilisation d'Inode à partir de cPanel et de la ligne de commande ?