Gunakan cat
dengan redirection output. Sintaks: cat file [file] [[file] ...] > joined-file
.
Contoh hanya dengan dua file (Anda dapat memiliki lebih banyak):
$ echo "some text in a file" > file1
$ echo "another file with some text" > file2
$ cat file1 file2 > mergedfiles
$ cat mergedfiles
some text in a file
another file with some text
Jika Anda memiliki "banyak dokumen", manfaatkan globbing shell (pola):
cat input-files-dir/* > joined-file
Ini akan menggabungkan semua file di direktori itu ke direktori saat ini (mencegahnya agar tidak cocok dengan file output itu sendiri). Ini benar-benar independen untuk penggunaan cat
dan pengalihan output - hanya saja Bash menyediakan semua file sebagai argumen cat
.
Jenis file
Itu hanya akan merekatkan (bergabung) file bersama seperti yang akan Anda lakukan dengan kertas dan pita. Tidak peduli tentang format file aktual yang mampu menangani ini. Ini akan bekerja untuk file teks, tetapi tidak untuk PDF, ODT, dll. Yah, itu akan merekatkan mereka bersama-sama, tapi itu bukan PDF / ODT yang valid lagi.
Urutan bergabung
Seperti yang ditunjukkan oleh phoibos , shell globbing akan menghasilkan urutan nama file berdasarkan abjad. Beginilah cara kerja Bash and shell globbing.
Tambahan tentang input file is output file
kesalahan
Ketika pola file input cocok dengan file yang sama dengan yang di-output, ini akan menyebabkan kesalahan. Ini fitur keamanan. Contoh: cat *.txt > out.txt
menjalankan kedua kalinya akan menyebabkan ini.
Apa yang dapat Anda lakukan:
- Pilih pola yang lebih spesifik untuk mencocokkan file input aktual, tidak cocok dengan nama output. Contoh: pola file input
*.txt
dengan file output output.out
tidak akan bertabrakan.
- Bekerja di direktori yang berbeda. Dalam contoh di atas, saya telah menggunakan
input-files-dir
direktori terpisah untuk menempatkan semua file, dan output ke direktori kerja saat ini. Ini membuatnya tidak mungkin untuk mendapatkan kesalahan ini.
ls
hanya daftar yang cocok. Misalnyals *.txt
untuk melihat apa yang dicocokkan.