Python 使用 grep 查看文件尾部
请帮帮我。我有一些日志文件,比如:
test_2014_03_13.log
我想用grep命令查看这个文件的内容,当新文件(test_2014_03_14.log)创建时,我希望能继续用grep查看新文件,而不想漏掉任何行。
我需要关于如何切换文件而不漏掉数据的信息。
抱歉我的英语不好。
1 个回答
0
根据我的理解,你想在创建新日志文件时进行一些更改。
你需要运行两个不同的进程。
- 第一个进程是用来监视文件夹的变化,这样你就能知道什么时候新文件被创建,然后进行相应的更改。
- 第二个进程负责执行“Tail+Grep”命令,当它被关闭时(通过Kill指令),它应该继续处理最新的文件。
这里有一个用Bash写的例子,你可以很容易地用Python来实现。我看到你其实是想要Python的例子时,已经晚了。
#!/bin/bash
pidTail=0
inotifywait -m /var/log/yourfiles -e created |
while read path action file; do
echo “changed to $file”
if [ ! $pidTail -eq 0 ]; then
kill $pidTail
fi
tail -f $file | grep something >> newfile.log &
pidTail=$!
done
注意:我在这里写的代码没有经过测试,可能会有错别字;)
迟到总比不到好!
来源: