Tidak, itu seefisien yang akan Anda dapatkan. Anda bisa menulis program C yang bisa melakukan pekerjaan sedikit lebih cepat (lebih sedikit waktu startup dan pemrosesan argumen) tetapi mungkin akan cenderung ke kecepatan yang sama seperti sed file menjadi besar (dan saya menganggap mereka besar jika butuh satu menit ).
Tetapi pertanyaan Anda menderita masalah yang sama seperti banyak orang lain karena itu pra-mengandaikan solusi. Jika Anda memberi tahu kami secara terperinci apa yang Anda coba lakukan daripada bagaimana caranya , kami mungkin dapat menyarankan opsi yang lebih baik.
Misalnya, jika ini adalah file A yang diproses oleh beberapa program B lainnya, salah satu solusinya adalah tidak menghapus baris pertama, tetapi memodifikasi program B untuk memprosesnya secara berbeda.
Katakanlah semua program Anda ditambahkan ke file A ini dan program B saat ini membaca dan memproses baris pertama sebelum menghapusnya.
Anda dapat merekayasa ulang program B sehingga tidak mencoba menghapus baris pertama tetapi mempertahankan offset (mungkin berbasis file) yang persisten ke dalam file A sehingga, saat dijalankan, program dapat mencari proses offset itu, baris di sana, dan perbarui offset.
Kemudian, pada waktu tenang (tengah malam?), Ia bisa melakukan pemrosesan khusus file A untuk menghapus semua baris yang saat ini diproses dan mengatur offset kembali ke 0.
Tentunya akan lebih cepat bagi suatu program untuk membuka dan mencari file daripada membuka dan menulis ulang. Diskusi ini mengasumsikan Anda memiliki kendali atas program B, tentu saja. Saya tidak tahu apakah itu masalahnya tetapi mungkin ada solusi lain yang mungkin jika Anda memberikan informasi lebih lanjut.