Je les fichiers nommés file.88_0.pdb
, file.88_1.pdb
, ...
, file.88_100.pdb
. Je veux qu’ils cat
soient file.88_1.pdb
collés après file.88_0.pdb
, file.88_2.pdb
après file.88_1.pdb
, etc. Si je le fais cat file.88_*.pdb > all.pdb
, les fichiers sont rassemblés dans l'ordre suivant:, 0 1 10 11 12 13 14 15 16 17 18 19 2 20...
etc. Comment puis-je les assembler pour que l'ordre soit 0 1 2 3 4 5 6...
?
files
cat
text-formatting
nitrate de sodium
la source
la source
Réponses:
Utilisation
brace expansion
Pour ignorer l'impression des messages d'erreur pour les fichiers inexistants, utilisez:
Dans le
zsh
shell, vous avez également le(n)
qualificatif globbing pour demander un tri numérique (par opposition à la valeur alphabétique par défaut ) pour les globs:la source
ou, concernant le commentaire de Jesse_b:
la source
Dans le shell sans extension d'accolade, vous pouvez utiliser
ls
+xargs
:ls triera les fichiers par ordre numérique:
-v
type naturel de (version) numéros dans le texte.la source
Essayer:
Cela a pu
sort
les fichiers sur par le-k2
deuxième champ ( ) en utilisant_
comme séparateur. Ici, vous devez utiliser>>
sinon chaque nouveau fichier remplacera le dernier.la source
0 1 10 11 12...
sort --version
quoi obtenez-vous? Et vous avez le droit-n
dans la commande de tri?sort (GNU coreutils) 5.93
/dev/null
ajout à l'autre réponse était indispensable!find ... | sort ... | xargs cat >> $output
place.