Monitoring

是否可以遵循命令(重複執行)?因為有人會使用 tail -f 來跟踪文件?

  • July 5, 2011

我有一個生成文件“Detail.out”的腳本。我知道只要文件包含一定數量的行(大約 21025 行),腳本就會完成。所以我發現自己坐在命令提示符下執行:

[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
 ...   ...

我曾經tail -f看過一個特定的文件,但我想按照wc -l */Detail.out上面顯示的命令的輸出。 這可能嗎? 如果這很重要,我目前正在tcshUbuntu 11.04 中使用。

試試這個watch命令,雖然我懷疑幾乎每個人都曾在某個時候編寫過自己的版本。(便宜的版本是while :; do clear; "$@"; sleep 5; done。)

不確定您是否知道,但您也可以將程序的輸出重定向到文件。請參閱http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html因此,另一種方法可能是簡單地將輸出重定向到一個文件,然後像您已經習慣的那樣在該文件上使用 tail .

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

在另一個終端中,您可以$ tail -f detail-out-list.txt像以前一樣執行。

正如 Celeb 指出的那樣,留下一些文件可能是您想要的(進一步檢查該文件或有一些歷史記錄),也沒有任何東西像您一樣定期執行watch

引用自:https://unix.stackexchange.com/questions/16076