GNU/Linux >> Belajar Linux >  >> Linux

Menggabungkan File Dan Menyisipkan Baris Baru Di Antara File

Jika saya yang melakukannya, saya akan menggunakan sed:

sed -e '$s/$/\n/' -s *.txt > finalfile.txt

Dalam pola sed ini $ memiliki dua arti, pertama cocok dengan nomor baris terakhir saja (sebagai rentang garis untuk menerapkan pola) dan kedua cocok dengan akhir baris dalam pola substitusi.

Jika versi sed Anda tidak memiliki -s (memproses file input secara terpisah) Anda dapat melakukan semuanya sebagai loop:

for f in *.txt ; do sed -e '$s/$/\n/' $f ; done > finalfile.txt

Anda dapat melakukan:

for f in *.txt; do (cat "${f}"; echo) >> finalfile.txt; done

Pastikan file finalfile.txt tidak ada sebelum Anda menjalankan perintah di atas.

Jika Anda diizinkan untuk menggunakan awk Anda dapat melakukan:

awk 'FNR==1{print ""}1' *.txt > finalfile.txt

Jika Anda memiliki cukup sedikit file yang dapat Anda daftarkan masing-masing, maka Anda dapat menggunakan substitusi proses di Bash, menyisipkan baris baru di antara setiap pasangan file:

cat File1.txt <(echo) File2.txt <(echo) File3.txt > finalfile.txt

Linux
  1. Cara Kompres Dan Dekompresi File Di Linux

  2. Perbedaan Antara Cat Dan '>' Untuk Menghilangkan File?

  3. Ssh – Menyalin File yang Dilindungi Antar Server Dalam Satu Baris?

  1. Cara berbagi file antara Ubuntu dan Mac OS X

  2. Mengunggah file ke akun S3 dari baris perintah Linux

  3. Menggunakan scp untuk mentransfer file .txt daftar file

  1. Perbedaan Antara ' Dan ” Di Command Line (bash)??

  2. Sisipkan Baris Baru Dengan Nilai yang Hilang (na)?

  3. Linux – Bagikan File Antara Linux Host Dan Windows Guest?