我有一个生成文件“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
上面显示的命令的输出。 这可能吗? 如果这很重要的话,我目前正在使用tcsh
Ubuntu 11.04。
答案1
尝试一下这个watch
命令,尽管我怀疑几乎每个人都曾经编写过自己的版本。 (便宜的版本是while :; do clear; "$@"; sleep 5; done
。)
答案2
不确定您是否知道这一点,但您也可以将程序的输出重定向到文件。看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
为您那样定期执行。