linux - files - Recursive cat todos los archivos en un solo archivo
cat recursive (4)
Tengo un montón de archivos en carpetas como
data/A/A/A/json1.json
data/A/A/A/json2.json
data/A/A/B/json1.json
...
data/Z/Z/Z/json_x.json
Quiero cazar a todos los jsons en un solo archivo?
encontrar ./ -type f | xargs cat> ../singlefilename
Me gustaría esto, fácil y simple.
../ evitar el error "archivo de entrada es archivo de salida"
Alternativamente, si tiene una lista de sus archivos, puede canalizarlo a xargs
<path to your files> | xargs cat > all.json
Use find
para obtener todos los archivos JSON y concatenarlos.
find data -name ''*.json'' -exec cat {} + > all.json
Tenga en cuenta que esto no será válido JSON. Si desea que un archivo JSON contenga varios objetos, debe estar en una matriz u objeto contenedor, por lo que deberá agregar [ ]
alrededor y colocarlos entre cada uno.
find data/ -name ''*.json'' -exec cat {} /; > uber.json
una breve explicación:
find <where> /
-name <file_name_pattern> /
-exec <run_cmd_on_every_hit> {} /; /
> <where_to_store>