Bagaimana cara mengikuti (a la "tail -f") file biner dari awal?

10

Apakah mungkin untuk mengikuti file biner dari awal, ala tail -f?

Ini berguna dalam beberapa kasus, misalnya jika saya scpmemasukkan file ke server jauh, dan pada saat yang sama saya ingin memasukkannya ke proses lain (ya, saya tahu saya bisa menggunakan ssh+ cattrik).

Sejauh yang saya baca dari FM, tailditulis memiliki file teks dalam pikiran.

Apakah ada cara sederhana untuk melakukan operasi seperti itu menggunakan alat posix standar?

Marcus
sumber
Di mana dikatakan bahwa itu tailhanya dapat digunakan dengan file teks?
rozcietrzewiacz
@rozcietrzewiacz Pada unices yang lebih lama, utilitas berorientasi teks seperti tailtidak selalu mengatasi file biner: mereka mungkin tersedak null byte atau menghilangkan byte liar setelah baris terakhir terakhir pada file input. Sistem modern memang mengatasinya.
Gilles 'SANGAT berhenti menjadi jahat'

Jawaban:

12

tailbekerja dengan data biner sama halnya dengan teks. Jika Anda ingin memulai dari awal file, Anda dapat menggunakannya tail -c +1 -f.

rozcietrzewiacz
sumber
Apakah ini tidak berhasil untuk siapa pun? Saya memiliki file biner yang memiliki 16 kemunculan string yang saya lihat ketika saya gunakan cat bin_file | strings - -o | grep match_string, tetapi ketika saya melakukannya tail -c +1 -f bin_file | strings - -o | grep match_string, saya tidak mendapatkan apa-apa melewati pertandingan ke-9. Saya juga mencatat bahwa nomor baris dari -osemua 1 lebih sedikit dibandingkan dengan output cat. Jika saya meninggalkan grep off, saya mendapatkan semua 16 pertandingan (dicampur dengan yang lain), jadi saya pikir masalahnya adalah grep, tapi saya mencoba perl satu-liner dan berhenti di tempat yang sama ...
hepcat72