find data/ -name '*.json' -exec cat {} \; > uber.json
una breve spiegazione:
find <where> \
-name <file_name_pattern> \
-exec <run_cmd_on_every_hit> {} \; \
> <where_to_store>
Usa find
per ottenere tutti i file JSON e concatenarli.
find data -name '*.json' -exec cat {} + > all.json
Si noti che questo non sarà un JSON valido. Se vuoi che un file JSON contenga più oggetti, questi devono trovarsi in un array o oggetto contenitore, quindi devi aggiungere [ ]
intorno a loro e metti ,
tra uno e l'altro.
In alternativa, se hai un elenco dei tuoi file, puoi reindirizzarlo a xargs
<path to your files> | xargs cat > all.json