Tengo archivos con el nombre file.88_0.pdb, file.88_1.pdb, ..., file.88_100.pdb. Quiero catque file.88_1.pdbse peguen después file.88_0.pdb, file.88_2.pdbdespués file.88_1.pdb, y así sucesivamente. Si lo hago cat file.88_*.pdb > all.pdb, los archivos se agrupan en el siguiente orden: 0 1 10 11 12 13 14 15 16 17 18 19 2 20...etc. ¿Cómo los reúno para que el orden sea 0 1 2 3 4 5 6...?
files
cat
text-formatting
nitrato de sodio
fuente
fuente

Respuestas:
Utilizar
brace expansionPara ignorar la impresión de los mensajes de error para archivos inexistentes, use:
En el
zshshell también tiene el(n)calificador global para solicitar una clasificación numérica (en oposición al valor predeterminado de alfabético ) para los globos:fuente
o, con respecto al comentario de Jesse_b:
fuente
En shell sin expansión de llaves puede usar
ls+xargs:ls ordenará los archivos en orden numérico:
-vtipo natural de (versión) números dentro del texto.fuente
Tratar:
Esto fue capaz de
sortlos archivos en el (-k2) segundo campo utilizando_como separador. Aquí debe usarlo; de lo>>contrario, cada archivo nuevo sobrescribirá el último.fuente
0 1 10 11 12...sort --versionlo que obtienes? ¿Y tienes-nel comando de clasificación correcto?sort (GNU coreutils) 5.93/dev/nulladición a la otra respuesta era muy necesaria!find ... | sort ... | xargs cat >> $outputlugar.