Bagaimana cara membuka file teks di terminal dengan penyegaran otomatis instan setiap kali diubah?
Saya telah melihat vim
dengan :set autoread
, tetapi membutuhkan beberapa masukan dasar (seperti dalam tekanan tombol vim
) untuk memicu refresh.
Saya ingin penyegaran otomatis bebas tangan. Apakah ada peretasan untuk melakukan ini?
Saya menggunakan Crunchbang 11, tapi saya cukup nyaman dengan terminal.
tail -f $file
.inotify
. Mencari itu, itu adalah API yang perlu saya akses dengan pemrograman C, yang saya tidak cenderung lakukan dalam waktu dekat. Saya mencari solusi perintah shell.inotify-tools
,. Ini menggunakan fitur yang dibangun ke dalam Kernel yang disebut inotify. Setiap kali suatu file ditindaklanjuti atas suatu peristiwa dikirim melalui inotify bahwa Anda dapat bertindak. Banyak prog. langs. seperti Python, Perl, dll. memiliki pustaka yang membungkus Inotify API. Lihat Wikipedia pg: en.wikipedia.org/wiki/InotifyJawaban:
Ini akan menunjukkan kepada Anda file sekali per detik:
sumber
watch -tpcn 1 pygmentize -g filename
watch -g
, itu tidak bekerja seperti yang Anda harapkan .-g
saklar ini sebenarnya untukpygmentize
. Bagaimanapun, terima kasih atas peringatannya.watch -n 1 tail file
?Memperlihatkan pembaruan syslog saat ditambahkan ke file.
sumber
Saya akan menggunakan
watch
sebagai jawaban lain menyarankan tetapi hanya untuk menunjukkan kepada Anda bagaimana seseorang dapat mendekati masalah yang tampaknya rumit menggunakan blok bangunan yang disediakan oleh shell seperti Unix; a while loop bisa menjadi cara sederhana untuk melakukan looping Anda.Contoh
Layar bersih dan kemudian setelah satu detik, ini akan ditampilkan:
sumber
Seperti yang disarankan dalam komentar, Anda juga bisa menggunakannya
inotify
meskipun berlebihan. Sejauh ini yang paling sederhana adalah menggunakanwatch
. Inilah satu cara untuk melakukannyainotify
:Instal
inotify-tools
paketGunakan
inotifywatch
untuk memeriksa file Anda untuk perubahan. Jalankan dalam satu lingkaran dancat
file jika perubahan terdeteksi (itu sebabnya sayagrep
untuk stringtotal
):sumber
-q
(atau--quiet
) untukgrep
membungkam garis yang cocok dengan "total".watch(1)
adalah alat yang sangat berguna. [1]Saya tidak akan merekomendasikan penggunaannya
cat
.Sebagai gantinya, gunakan
head
atautail
untuk apakah Anda perlu melihat awal atau akhir file.sumber