Si j'ai un fichier volumineux et que je dois le scinder en morceaux de 100 Mo, je le ferai.
split -b 100m myImage.iso
Cela me donne généralement quelque chose comme
xaa
xab
xac
xad
Et pour les récupérer, j'ai utilisé
cat x* > myImage.iso
On dirait qu'il devrait y avoir un moyen plus efficace que de lire chaque ligne de code dans un groupe de fichiers avec cat
et de rediriger la sortie vers un nouveau fichier. C'est comme un moyen d'ouvrir deux fichiers, d'enlever le EOF
marqueur du premier et de les connecter, sans avoir à parcourir tout le contenu.
Windows / DOS a une commande de copie pour les fichiers binaires. L'aide indique que cette commande a été conçue pour pouvoir combiner plusieurs fichiers. Cela fonctionne avec cette syntaxe: ( /b
est pour le mode binaire)
copy /b file1 + file2 + file3 outputfile
Existe-t-il quelque chose de similaire ou un meilleur moyen de joindre des fichiers volumineux sous Linux que cat?
Mise à jour
Il semble que ce cat
soit en fait le bon moyen et le meilleur moyen de joindre des fichiers. Heureux de savoir que j'utilisais toujours la bonne commande :) Merci à tous pour vos commentaires.
cat x*
vous pouvez envisager une expansion de l'accolade shell, cat xa{a..g}
qui étend la séquence spécifiée à cat
xaa xab xac xad xae xaf xag
cat x*
? Les nouveaux paramètres régionaux ne seront-ils pas également affectés de split
sorte que si split
et cat x*
étaient utilisés sur le même système, ils fonctionneraient toujours?
split.c
dans GNU Coreutils, les suffixes sont construits à partir d' un réseau fixe de caractères: static char const *suffix_alphabet = "abcdefghijklmnopqrstuvwxyz";
. Le suffixe ne serait pas affecté par les paramètres régionaux. (Mais je ne pense pas que n'importe quel endroit sain puisse réorganiser les lettres minuscules; même EBCDIC maintient leur ordre standard.)
cat x*
, car l'ordre des fichiers dépend de vos paramètres régionaux. Mieux vaut commencer à tapercat x
qu'à appuyer sur Echap puis sur*
- vous verrez l'ordre de fichiers étendu et pourrez le réorganiser.