Mám soubory s názvem file.88_0.pdb
, file.88_1.pdb
, ...
, file.88_100.pdb
. Chci cat
tak, že file.88_1.pdb
se vloží za file.88_0.pdb
, file.88_2.pdb
za file.88_1.pdb
, a tak dále. Pokud udělám cat file.88_*.pdb > all.pdb
, soubory se skládají v tomto pořadí:0 1 10 11 12 13 14 15 16 17 18 19 2 20...
, atd. Jak je dám dohromady, aby objednávka byla 0 1 2 3 4 5 6...
?
Přijatá odpověď:
Použijte brace expansion
cat file.88_{0..100}.pdb >>bigfile.pdb
Chcete-li ignorovat tisk chybových zpráv pro neexistující soubory, použijte:
cat file.88_{0..100}.pdb >>bigfile.pdb 2>/dev/null
V zsh
shell také máte (n)
globbing kvalifikátor pro vyžádání numerického řazení (na rozdíl od výchozího abecedního ) pro globy:
cat file.88_*.pdb(n) >>bigfile.pdb 2>/dev/null