GNU/Linux >> Znalost Linux >  >> Linux

Rekurzivní kat všechny soubory do jednoho souboru

find data/ -name '*.json' -exec cat {} \; > uber.json

krátké vysvětlení:

find <where> \
  -name <file_name_pattern> \
  -exec <run_cmd_on_every_hit> {} \; \
    > <where_to_store>

Použijte find získat všechny soubory JSON a zřetězit je.

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

Upozorňujeme, že toto nebude platný JSON. Pokud chcete, aby soubor JSON obsahoval více objektů, musí být v obsahujícím poli nebo objektu, takže budete muset přidat [ ] kolem nich a vložte , mezi každým z nich.


Alternativně – pokud máte seznam svých souborů – jej můžete přesměrovat do xargs

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

Linux
  1. Zobrazit všechny soubory až do shody?

  2. Jak najít všechny řídké soubory v Linuxu

  3. Jak gzipovat všechny soubory ve všech podadresářích do jednoho komprimovaného souboru v bash

  1. Jak rozdělit jeden soubor do více souborů na základě řádků

  2. Zřetězit konkrétní soubory do jednoho jediného souboru?

  3. Sloučit dva soubory HTML do hlavního souboru HTML

  1. Linux – Rozdělit jeden řádek na více řádků, znak nového řádku chybí ve všech řádcích ve vstupním souboru?

  2. Rekurzivní statistiky o typech souborů v adresáři?

  3. Získat všechny soubory kromě souborů v poli – Bash?