Saya ingin menampilkan konten file ketika mereka berubah, misalnya jika saya memiliki file foobar
dan saya lakukan:
magic_command foobar
Terminal saat ini harus menampilkan isi file dan menunggu sampai, saya tidak tahu, saya tekan ^ C.
Kemudian jika dari terminal lain saya lakukan:
echo asdf >> foobar
Terminal pertama harus menampilkan baris yang baru ditambahkan di samping isi file asli (tentu saja, mengingat bahwa saya tidak menekan ^ C).
Saya akan menandai ini sebagai pekerjaan rumah karena saya ingin menjelajahi dan belajar linux, tetapi itu bukan pekerjaan rumah, itu hanya rasa ingin tahu saya.
Jawaban:
Anda dapat menggunakan
tail command
dengan-f
:Ini solusi yang bagus untuk pertunjukan waktu nyata.
sumber
-F
(huruf besar f), yang akan membuka kembali file jika dihapus dan dibuat ulang di sepanjang jalan.Jika Anda ingin menampilkan file pendek, yang pas di satu layar terminal, dan apa yang berubah mungkin seluruh file, Anda bisa menggunakan
watch
:watch cat example.txt
Ini menunjukkan seluruh file setiap 2 detik secara default, termasuk header opsional:
Opsi
-d
(--differences
) akan menyoroti perubahan dari versi keluaran sebelumnya, atau dari versi pertama.sumber
Ketika saya perlu mendeteksi perubahan file dan melakukan sesuatu selain yang
tail -f filename
dilakukan, saya telah menggunakaninotifywait
skrip untuk mendeteksi perubahan dan menindaklanjutinya. Contoh penggunaan ditunjukkan di bawah ini. Lihatman inotifywait
nama dan sakelar acara lainnya. Anda mungkin perlu menginstalinotify-tools
paket, misalnya melaluisudo apt-get install inotify-tools
.Berikut contoh skrip yang disebut
exec-on-change
:Dalam dua konsol saya memasukkan perintah sebagai berikut (di mana A> berarti entri di konsol A, dan B> berarti entri di konsol B.)
Output berikut dari
cat t
muncul di konsol A:Output berikut dari
exec-on-change
muncul di konsol B:The
exec-on-change
Script dihentikan ketika sayarm
'dt
.sumber
less
memiliki mode ikuti yang mirip dengantail -f
- tekan sajaF
ketika Anda membukanya.sumber
Saya punya tiga solusi:
1)
tail -f
adalah ide yang bagus2) kita juga
tailf
harus menggunakan3) yang ketiga adalah skrip bash:
sumber