这是否可以grep
连续使用?
我的意思是一种tail -f <file>
命令,但grep
在输出上只是为了保留我感兴趣的行.
我已经尝试了,tail -f <file> | grep pattern
但似乎grep
只能执行一次tail
,也就是说永远不会.
我必须查看大文件的最后几行(典型大小为500MB-2GB).我正在tail
为Windows Powershell 寻找相当于Unix的命令.一些可供选择的是,
http://tailforwin32.sourceforge.net/
和
Get-Content [filename] | Select-Object -Last 10
对我来说,不允许使用第一种替代方案,第二种方案是缓慢的.有没有人知道PowerShell的尾部有效实现.
我正在为Web应用程序编写一个日志文件查看器,为此我想通过日志文件的行分页.文件中的项目是基于行的,底部是最新项目.
所以我需要一种tail()
方法,可以n
从底部读取行并支持偏移量.我想出的是这样的:
def tail(f, n, offset=0):
"""Reads a n lines from f with an offset of offset lines."""
avg_line_length = 74
to_read = n + offset
while 1:
try:
f.seek(-(avg_line_length * to_read), 2)
except IOError:
# woops. apparently file is smaller than what we want
# to step back, go to the beginning instead
f.seek(0)
pos = f.tell()
lines = f.read().splitlines()
if len(lines) >= to_read or pos == 0:
return lines[-to_read:offset and -offset or None]
avg_line_length …
Run Code Online (Sandbox Code Playgroud) 由于未知长度的文本文件,我怎么能读,例如所有,但第2行的文件?我知道tail
会给我最后N行,但我不知道N是提前的.
所以对于一个文件
AAAA
BBBB
CCCC
DDDD
EEEE
Run Code Online (Sandbox Code Playgroud)
我想要
CCCC
DDDD
EEEE
Run Code Online (Sandbox Code Playgroud)
并为一个文件
AAAA
BBBB
CCCC
Run Code Online (Sandbox Code Playgroud)
我会得到的
CCCC
Run Code Online (Sandbox Code Playgroud) 我有一个不断写入/更新的文件.我想找到包含特定单词的最后一行,然后打印该行的最后一列.
该文件看起来像这样.随着时间的推移,将附加更多的A1/B1/C1线.
A1 123 456
B1 234 567
C1 345 678
A1 098 766
B1 987 6545
C1 876 5434
Run Code Online (Sandbox Code Playgroud)
我试着用
tail -f file | grep A1 | awk '{print $NF}'
Run Code Online (Sandbox Code Playgroud)
打印值766,但没有输出.
有没有办法做到这一点?
有没有pythonic方法解压缩第一个元素中的列表和单个命令中的"尾部"?
例如:
>> head, tail = **some_magic applied to** [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
>> head
1
>>> tail
[1, 2, 3, 5, 8, 13, 21, 34, 55]
Run Code Online (Sandbox Code Playgroud) 我想知道用什么技术和/或库来实现linux命令"tail -f"的功能.我基本上是在寻找一个附加/替换的下降java.io.FileReader
.客户端代码可能如下所示:
TailFileReader lft = new TailFileReader("application.log");
BufferedReader br = new BufferedReader(lft);
String line;
try {
while (true) {
line= br.readLine();
// do something interesting with line
}
} catch (IOException e) {
// barf
}
Run Code Online (Sandbox Code Playgroud)
缺失的部分是合理的实施TailFileReader
.它应该能够读取文件打开前存在的文件部分以及添加的行.
我想在Python中输出tail -F或类似的东西,而不会阻塞或锁定.我发现一些真正的旧代码到做在这里,但我想一定有更好的方法或通过图书馆现在做同样的事情.谁知道一个?
理想情况下,tail.getNewData()
每次我想要更多数据时,我都会有类似的东西.
任何知道可以以流方式读取txt文件的查看器(或Notepad ++插件)的人?我想看看例如连续附加的txt文件的最后10行.