GNU/Linux >> Tutoriales Linux >  >> Linux

Gato recursivo todos los archivos en un solo archivo

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>

Usa find para obtener todos los archivos JSON y concatenarlos.

find data -name '*.json' -exec cat {} + > all.json

Tenga en cuenta que esto no será un JSON válido. Si desea que un archivo JSON contenga varios objetos, deben estar en una matriz u objeto contenedor, por lo que deberá agregar [ ] alrededor de ellos y poner , entre cada uno.


Alternativamente, si tiene una lista de sus archivos, puede canalizarla a xargs

<path to your files> | xargs cat > all.json

Linux
  1. Cómo dividir un solo archivo en varios archivos según las filas

  2. ¿Concatenar archivos específicos en un solo archivo?

  3. Linux:dividir una sola línea en varias líneas, ¿falta el carácter de nueva línea para todas las líneas en el archivo de entrada?

  4. ¿Estadísticas recursivas sobre tipos de archivos en el directorio?

  5. Obtener todos los archivos excepto los archivos en matriz:¿Bash?

Las 6 mejores formas de ver archivos en Linux

Manera fácil de fusionar archivos con el comando Cat

¿Mostrar todo el archivo hasta el partido?

Cómo encontrar todos los archivos dispersos en Linux

Cómo gzip todos los archivos en todos los subdirectorios en un archivo comprimido en bash

Combinar dos archivos HTML en un archivo HTML maestro