Ho file chiamati file.88_0.pdb , file.88_1.pdb , ... , file.88_100.pdb . Voglio cat in modo che file.88_1.pdb viene incollato dopo file.88_0.pdb , file.88_2.pdb dopo file.88_1.pdb , e così via. Se eseguo cat file.88_*.pdb > all.pdb , i file sono riuniti nel seguente ordine:0 1 10 11 12 13 14 15 16 17 18 19 2 20... , ecc. Come li metto insieme in modo che l'ordine sia 0 1 2 3 4 5 6... ?
Risposta accettata:
Usa brace expansion
cat file.88_{0..100}.pdb >>bigfile.pdb
Per ignorare la stampa dei messaggi di errore per file inesistenti utilizzare:
cat file.88_{0..100}.pdb >>bigfile.pdb 2>/dev/null
Nel zsh shell hai anche il (n) qualificatore globbing per richiedere un numerico ordinamento (in contrasto con l'impostazione predefinita di alfabetico ) per i glob:
cat file.88_*.pdb(n) >>bigfile.pdb 2>/dev/null