Apakah mungkin untuk mengikuti perintah (jalankan berulang kali)? sebagai orang akan mengikuti file menggunakan tail -f?

10

Saya memiliki skrip yang menghasilkan file 'Detail.out'. Saya tahu bahwa skrip selesai setiap kali file berisi sejumlah baris (sekitar 21025). Jadi saya menemukan diri saya duduk di command prompt yang sedang berjalan:

[me@somewhere myDir]$ wc -l */Detail.out
  21025 A/Detail.out
  21025 B/Detail.out
  21025 C/Detail.out
  12995 D/Detail.out
  10652 E/Detail.out
   3481 F/Detail.out
  21027 G/Detail.out
  21025 H/Detail.out
  21025 I/Detail.out
  ...   ...

Saya sudah terbiasa tail -fmenonton file tertentu, tetapi saya ingin mengikuti output dari wc -l */Detail.outperintah yang ditunjukkan di atas. Apakah ini mungkin? Saya saat ini menggunakan tcshUbuntu 11,04 jika itu penting.

M. Tibbits
sumber

Jawaban:

18

Coba watchperintahnya, walaupun saya curiga hampir semua orang pernah menulis versi mereka sendiri. (Versi cheapie adalah while :; do clear; "$@"; sleep 5; done.)

geekosaurus
sumber
0

Tidak yakin apakah Anda tahu itu, tetapi Anda juga dapat mengarahkan output suatu program ke file. Lihat http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html Dengan demikian, cara lain mungkin dengan hanya mengarahkan output ke file dan kemudian menggunakan ekor pada file itu karena Anda sudah terbiasa melakukan .

$ find . -name "Detail.out" | xargs wc -l >> detail-out-list.txt

Dan di Terminal lain Anda bisa menjalankan $ tail -f detail-out-list.txt seperti biasa.

Seperti yang dicatat Celeb yang menyisakan beberapa file di sekitar yang mungkin Anda inginkan (untuk lebih jauh memeriksa file itu atau memiliki sejarah) atau tidak dan tidak ada yang dieksekusi secara berkala seperti yang watchdilakukan untuk Anda.

datentyp
sumber
Ini tidak menjawab pertanyaan OPs sama sekali, itu hanya menyuntikkan pekerjaan ke perintah lain dan membutuhkan seluruh lapisan baru untuk dijalankan dan dibersihkan setelahnya.
Caleb
@ Caleb: Saya tidak jelas mengapa ini adalah jawaban yang mengerikan. File output bisa di / tmp, jadi tidak perlu untuk membersihkannya. Saya tidak berpikir pertanyaannya adalah "bagaimana saya bisa menjalankan perintah berulang kali?" tetapi "bagaimana saya bisa mengikuti perintah yang dijalankan berulang kali?". Jadi sejauh yang saya bisa lihat, sepertinya ini menjawab pertanyaan OP ... oke pada bacaan yang lebih hati-hati, saya kira pertanyaannya ambigu seperti yang diposting saat ini: apakah "(jalankan berulang kali" "berarti" (yang sedang dijalankan berulang kali ) "atau" (artinya, bagaimana saya menjalankannya berulang kali?) "?
iconoclast