Bonjour !

Suite à des réponses satisfaisantes sur ce topic (http://www.developpez.net/forums/d13...lusieurs-json/), j'en ouvre un second afin de mettre en évidence un autre problème qui m'empêche d'arriver à ce que je veux.

En effet, maintenant que j'ai lancé mon script sur le gros dossier de villes (~3.5 millions), awk me dit qu'il n'est pas content car il a trop d'arguments à traiter. J'aimerais donc pouvoir lancer mon script plusieurs fois sur un lot de fichiers à chaque fois différent. Pour rappel voici le dernier code en date :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#!/bin/bash
 
	echo '{ "docs" : [' > tmp
	awk 'FNR!=NR{$0=","$0}1' ./cities2/* >> tmp
	echo ' ] }' >> tmp
	curl -vX POST http://root:*******@127.0.0.1:5984/cities/_bulk_docs -H 'Content-Type: application/json' -d "`cat tmp`"
J'aimerais pouvoir traiter mes fichiers par lot, c'est à dire lancer la commande awk d'abord sur les fichiers 1 à 10.000, puis 10.001 à 20.000, etc. Le nom de mes fichiers est i.json, i étant un entier compris entre 1 et environ 3.500.000.

Y'a t-il un moyen d'appliquer cette contrainte lors de la sélection du nom de fichier tout en gardant une vitesse d'exécution honorable ? Le fait de devoir traiter les fichiers par lot m'embête déjà beaucoup (car forcément, on y perd en performances)...