Apakah ada cara untuk membuat tail -F
atau less
membunyikan bip (membunyikan bel di terminal) saat data baru masuk (baris baru ditambahkan ke file). Atau ada utilitas unix lain untuk melakukan ini di linux atau mac.
23
Gagasan untuk mengirim output tail
melalui sed
dan mengganti baris baru dengan bel / baris baru.
Tetapi ada kemungkinan solusi yang lebih mudah jika Anda menggunakan di tail
dalam x-window . Di sana Anda dapat melakukan suatu tindakan ketika konten jendela berubah (flicker, bell, apa pun).
sed
Ide ini brilian tetapi saya tidak tahu 'sed' cukup untuk membuatnya bekerja, sepertinya saya tidak bisa menangkap baris baru di regexpt dengan cara biasa (yang saya sudah terbiasa), saya kira saya perlu memberi tahu sed jangan menginterpretasikan aliran stream yang masuk per baris.sed -e $'s/$/\a/'
menambahkan$'\a'
(karakter bel dalam sintaks ksh / bash / zsh) di akhir setiap baris.sed
regexpt agak aneh di mataku yang naif.$'...'
sintaks tidak universal. Misalnya, [t] csh tidak mendukungnya.jika Anda menggunakan GNU
screen
, Anda dapat mengaturnya untuk "menonton" jendela dengan ekornya, dan itu akan memberi tahu Anda di bilah status Anda, atau dengan bel yang ditentukan termcap Anda, bahwa ada keluaran baru di jendela itu.http://www.gnu.org/software/screen/manual/html%5Fnode/Monitor.html#Monitor
sunting: baru saja menambahkan ini, karena Anda menyebutkan mac os x
hanya untuk bersenang-senang, jika Anda mencari sesuatu yang khusus, Anda dapat menggunakan
say
perintah Mac OS X untuk membacakan file yang sedang Anda tonton. dapatkan sajalogtail
perintahnya, dari:http://www.hmug.org/pub/MacOS_X/BSD/Administration/Log/logcheck/
Dan menggunakannya dalam skrip seperti:
sumber
screen
acara dan peringatan (saya kira saya bisa membuatnya membunyikan bel juga) HANYA SEKALI. Tidak untuk setiap acara baru yang terjadi (tidak untuk setiap baris baru yang tersedia)beep
perintah, alih-alihsay
.exec
perintah layar untuk melakukannya juga. Contoh di halaman manual adalah!:sed -n s/.*Error.*/\007/p
yang akan mengirim lonceng setiap kali "Kesalahan" ditampilkan di jendela itu.Anda bisa menggunakan multitail . Ini adalah ekor yang disempurnakan yang mendukung eksekusi perintah pada kecocokan ekspresi reguler.
Misalnya perintah berikut memainkan suara dan membuka jendela xmessage setiap kali paket sumber Mars dicatat.
sumber
Sekadar catatan, seperti yang disarankan @Nils saya gunakan
sed
untuk menambahkanbell
ke setiap baris.The
sed
baris yang disediakan oleh @Gillesberfungsi di mac saya (saya mengaktifkan "bel terdengar" dan "bel visual" di Terminal \ preferensi \ lanjutan).
sumber
$'...'
urutan melarikan diri adalah hal Bash-only.Untuk siapa pun yang menemukan halaman ini, saya menggunakan tcsh dan ini sepertinya berfungsi:
Jangan tanya saya apa arti sintaks sed ...
sumber
Anda dapat mencoba
konsole
yang memungkinkan lansiran tentang aktivitas baru (atau hening) di tab mana saja.sumber
konsole
akan sepertiscreen
itu peringatan sekali, sementara saya harus menerima peringatan untuk setiap baris baru.