cat
seguirá a ordem dos argumentos, se você expandir ~/foo*
(em alguma guia dupla de shells, ou echo ~/foo*
) você verá o pedido.
A ordem do curinga *
é alfabética.
Pergunta SO globbing: link
Eu tenho centenas de arquivos no formato ~/foo.x.y
. Os arquivos são
~/foo.0001.0010
~/foo.0011.0020
~/foo.0021.0030
...
~/foo.4371.4378
Eu quero combinar todos esses arquivos em um arquivo grande ~/results/output.txt
onde o pedido é preservado. Estou bastante certo de que
$ cat ~/foo* > ~/results/output.txt
realiza isso, mas não tenho certeza se esse comando respeitará a ordem dos meus arquivos foo
. Este comando funciona? Se não, como posso realizar minha tarefa?
cat
seguirá a ordem dos argumentos, se você expandir ~/foo*
(em alguma guia dupla de shells, ou echo ~/foo*
) você verá o pedido.
A ordem do curinga *
é alfabética.
Pergunta SO globbing: link
De man bash
:
After word splitting, unless the -f option has been set, bash scans
each word for the characters *, ?, and [. If one of these characters
appears, then the word is regarded as a pattern, and replaced with an
*alphabetically* sorted list of filenames matching the pattern
Anote alphabetically
. No seu caso, será:
$ cat foo.0001.0010 foo.0011.0020 foo.0021.0030
Você pode expandir *
com C - x * depois de digitar *
e antes de pressionar Enter .