GNU/Linux >> Belajar Linux >  >> Linux

Cat rekursif semua file menjadi satu file

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

penjelasan singkat:

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

Gunakan find untuk mendapatkan semua file JSON dan menggabungkannya.

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

Perhatikan bahwa ini bukan JSON yang valid. Jika Anda ingin file JSON berisi beberapa objek, mereka harus berada dalam larik atau objek yang berisi, jadi Anda perlu menambahkan [ ] di sekelilingnya dan letakkan , antara masing-masing.


Atau -- jika Anda memiliki daftar file Anda -- Anda dapat mengirimkannya ke xargs

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

Linux
  1. Menggabungkan File Tertentu Menjadi Satu File Tunggal?

  2. Statistik Rekursif Pada Jenis File Di Direktori?

  3. Cara gzip semua file di semua sub-direktori menjadi satu file terkompresi di bash

  1. Menggabungkan dua file HTML menjadi file master HTML

  2. Salin semua pola pencocokan file dari dir dan subdir ke dalam satu dir

  3. Bagaimana saya bisa mengedit semua file yang dikembalikan oleh find in vi di Linux?

  1. Salin file di terminal Linux

  2. Pindahkan file di terminal Linux

  3. Bagaimana saya bisa menyalin semua file pdf secara rekursif dalam direktori (dan itu subdirektori) ke dalam satu direktori keluaran?