J'ai des fichiers nommés file.88_0.pdb
, file.88_1.pdb
, ...
, file.88_100.pdb
. Je veux cat
de sorte que file.88_1.pdb
est collé après file.88_0.pdb
, file.88_2.pdb
après file.88_1.pdb
, etc. Si je fais cat file.88_*.pdb > all.pdb
, les fichiers sont regroupés dans l'ordre suivant :0 1 10 11 12 13 14 15 16 17 18 19 2 20...
, etc. Comment puis-je les assembler pour que l'ordre soit 0 1 2 3 4 5 6...
?
Réponse acceptée :
Utiliser l'brace expansion
cat file.88_{0..100}.pdb >>bigfile.pdb
Pour ignorer l'impression des messages d'erreur pour les fichiers inexistants, utilisez :
cat file.88_{0..100}.pdb >>bigfile.pdb 2>/dev/null
Dans le zsh
shell vous avez aussi le (n)
qualificatif global pour demander un numérique tri (par opposition à la valeur par défaut de alphabétique ) pour les globs :
cat file.88_*.pdb(n) >>bigfile.pdb 2>/dev/null