find data/ -name '*.json' -exec cat {} \; > uber.json
une petite explication :
find <where> \
-name <file_name_pattern> \
-exec <run_cmd_on_every_hit> {} \; \
> <where_to_store>
Utilisez find
pour obtenir tous les fichiers JSON et les concaténer.
find data -name '*.json' -exec cat {} + > all.json
Notez que ce ne sera pas un JSON valide. Si vous souhaitez qu'un fichier JSON contienne plusieurs objets, ils doivent se trouver dans un tableau ou un objet contenant, vous devez donc ajouter [ ]
autour d'eux et mettre ,
entre chacun.
Alternativement - si vous avez une liste de vos fichiers - vous pouvez la diriger vers xargs
<path to your files> | xargs cat > all.json