Tengo archivos con el nombre file.88_0.pdb
, file.88_1.pdb
, ...
, file.88_100.pdb
. Quiero cat
que file.88_1.pdb
se peguen después file.88_0.pdb
, file.88_2.pdb
despué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 expansion
Para ignorar la impresión de los mensajes de error para archivos inexistentes, use:
En el
zsh
shell 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:
-v
tipo natural de (versión) números dentro del texto.fuente
Tratar:
Esto fue capaz de
sort
los 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 --version
lo que obtienes? ¿Y tienes-n
el comando de clasificación correcto?sort (GNU coreutils) 5.93
/dev/null
adición a la otra respuesta era muy necesaria!find ... | sort ... | xargs cat >> $output
lugar.