tail -f a.txt | grep 'python'

# tail -f a.txt |grep ‘python‘

#tail -f a.txt
import time
def tail(conf):
    with open(conf,encoding=‘utf-8‘) as f:
        f.seek(0,2)
        while True:
            f1 = f.readline().strip()
            if f1:
                yield f1
            else:
                time.sleep(0.5)

# t = tail(‘a.txt‘)
# print(next(t))
# for line in t:
#     print(line)

#  grep ‘python‘
def grep(kewords,lines):
    for line in lines:
        if kewords in line:
            yield line
g = grep(‘python‘,tail(‘a.txt‘))
for i in g:
    print(i)

  

tail -f a.txt | grep 'python'

时间: 2024-10-23 10:18:12

tail -f a.txt | grep 'python'的相关文章

【tail -f db.txt命令是的程序】_练习

一.做出相当于linux系统中 tail -f db.txt命令是的程序 #!/usr/bin/python # -*- coding:utf-8 -*- # Author:zhaosj import time f1 = open('zhaosj.txt','w',encoding='utf-8') # 以'w'模式打开zhaosj.txt文件,赋值给f1 with open('zhaosj.txt','r',encoding='utf-8') as f: # 以'r'模式打开zhaosj.tx

10min手写(五):面试题解析丨Python实现tail -f功能

作者:蜗牛 shengxinjing (woniuppp) · GitHub 写这篇文章的初衷是有人去面试遇到了这个笔试题,不知道怎么做,没有什么思路,就发到了Reboot 的交流群里,让大家一起讨论讨论. 关于这道题,简单说一下我的想法吧.当然,也有很好用的 pyinotify 模块专门监听文件变化,不过我更想介绍的,是解决的思路.毕竟作为面试官,还是想看到一下解决问题的思路,而且我觉得这一题的难点不在于监控文件增量,而在于怎么打印最后面10行. 希望大家在读这篇文章前,对 Python 基础

python实现tail -f 功能

这篇文章最初是因为reboot的群里,有人去面试,笔试题有这个题,不知道怎么做,什么思路,就发群里大家讨论 我想了一下,简单说一下我的想法吧,当然,也有很好用的pyinotify模块专门监听文件变化,不过我更想介绍的,是解决的思路,毕竟作为面试官,还是想看到一下解决问题的思路,而且我觉得这一题的难点不在于监控文件增量,而在于怎么打印最后面10行 希望大家读这篇文章前,对python基础.处理文件和常用模块有一个简单的了解,知道下面几个名词是啥 open('a.txt') file.seek fi

实现类似tail -f file功能

python版本py3 tail -f file是打印最后10行,然后跟踪文件追加的内容打印出来. python3 以为本方式打开的话,不能回退(f.seek(-1,1)),所有以'rb'方式打开文件. 思路是f.seek(-n,2)从文件末尾回退n字节,然后f.readlines()读取文件,如果读到的少于10行,则再往前移动n字节,直到读到11行,然后打印出来,再跟踪打印文件追加的内容,并打印. 知识点: f.tell()返回当前的文件位置 f.seek(n,m),m=0从文件开头往前或往后

运行脚本下的 类tail -f   sed -n

实时监控日志  我们常用的方法是 tail -f  logfile 但是 ,将其用到 脚本中 就会卡死了  ,跟同事学习讨论了一天 (主要是学习)决定用sed -n 来替代 sed -n '/datea/,/dateb/p' 分别定义 两个时间变量 中间间隔 3分钟 下附脚本 #!/bin/bash # #filename=sed_exception.sh date_ago=`date  +'%F %H:%M' -d '3 minutes ago'` date=`date +'%F %H:%M'

tailf、tail -f、tail -F三者区别

tail -f      等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止 tail -F     等同于--follow=name  --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪 tailf        等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特

Linux中 tail -f;tail -F;tailf的区别

在Linux中,tail -f;tail -F;tailf的区别. tail -f      等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止 tail -F     等同于--follow=name  --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪 tailf        等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail

tail -f 命令暂停方法

Linux 下查看日志时,使用 tail -f 可以不断的刷新日志信息. 例如: tail -f logs.log 此时要想暂停刷新,使用ctrl+s暂停终端.若想继续终端,使用ctrl+q. 若想退出tail命令,直接使用ctrl+c.

tail -f 和 -F 的用法

-f 是--follow[=HOW]的缩写, 可以一直读文件末尾的字符并打印出来. "[=HOW]"有两个写法,一个"=descriptor",另一个是"=name", 默认使用的是"descriptor", 如果你跟踪的文件被移动或者改名后, 你还想继续tail它, 你可以使用这个选项. 举个例子: 首先启动下面进程 while [ "true" ] ; do date >> test.log