如果我跑
sudo pico /var/log/lighttpd/website/error.log
我得到一个很长的文件,我看不到最后一行。 如果我运行:
sudo tail -f /var/log/lighttpd/website/error.log | awk '{print $1 "--" $2}'
我没有得到任何东西? 我究竟做错了什么 ?
另外,如何使用pico编辑器移动到特定行?
谢谢
你最好使用less量的寻呼机程序。 它试图不把整个文件加载到内存中,所以它适用于大文件。 less一些,你可以通过键入:123来移动到一个特定的行,其中123是你需要的行号。
至于尾巴 – 你有没有awk的东西? 或者用sudo tail -n 10 -f <log> ?
尾部的-f标志意味着“保持尾部进程正在运行,如果文件发生变化,则将它们拖到STDOUT ”。 基本上,这是一个积极地看日志文件的好方法。
我相信pipe道将等待第一个程序完成写入STDOUT之前,将输出到awk 。 由于-f标志,尾巴永远不会退出(直到你告诉它),所以没有任何事情可以通过awk进行传送。 所以没有打印。
尝试没有-f的第二个命令。 如果你正在寻找-ffunction,但也用awk来修改输出,我不知道答案是什么,而不是写一个自定义脚本来做到这一点…
tail -f只要文件还存在就不会退出(我也是这样想的)。 没有任何东西通过pipe道,直到第一个过程死亡。
如果你想要tail -f(即监视文件)的function,而仍然通过awkpipe道,请看watch "tail /var/log/lighttpd/website/error.log | awk '{print \$1 \"--\" \$2}'"