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