GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Menambahkan Data Ke Buffer Dalam Script Shell?

Saya ingin melakukan hal berikut menggunakan skrip shell:(untuk kesederhanaan, saya menggunakan data yang sama untuk INPUT. Dalam kasus nyata, data berubah dengan label loop jj)

#!/bin/sh
for jj in `seq 100`; do
    cat INPUT.file >> OUTPUT.file
done

Namun, ini sangat tidak efisien karena membuka dan menutup file dalam loop. Ketika ukuran INPUT.file besar, kode ini akan menjadi sangat lambat. Jadi saya bertanya-tanya apakah ada cara untuk memiliki/membuat buffer seperti membuat variabel yang telah dialokasikan sebelumnya di C.

Jawaban yang Diterima:

Berkat jawaban Stéphane Chazelas untuk “Mengapa ada perbedaan waktu eksekusi echo dan cat?”, jawaban muru mungkin sedikit ditingkatkan dengan memanggil cat hanya sekali (namun, jumlah "sedikit" ini mungkin menjadi banyak untuk data besar dan banyak pengulangan loop; di sistem saya, skrip ini membutuhkan ~75% waktu yang dibutuhkan skrip loop-have):

#!/bin/sh
yes INPUT.file | head -100 | xargs cat >> OUTPUT.file

Linux
  1. Bagaimana Menangani Switch Dalam Script Shell?

  2. Bagaimana Cara Memeriksa Substring Di Shell Script Bash?

  3. Bagaimana cara menambahkan output ke file?

  1. Cara mengubah kata dalam file dengan skrip shell linux

  2. Bagaimana cara menambahkan teks ke file?

  3. Bagaimana cara menambahkan file sebagai sudo?

  1. Cara Menambahkan Teks ke Akhir File di Linux

  2. Bagaimana Membuat File Sementara Di Shell Script?

  3. Bisakah file .sh menjadi malware?