python - 按行计算匹配某些规则的两个字符之间的大文件中的总字节数

标签 python linux bash shell unix

我有一个这样的日志文件:

    2013-07-20 08:48:14-0400 [MODE LOG] Rec:'#A=1887283,FIG=18882734772,VA=772663777,T=333.4#\r\n'
    2013-07-20 08:52:34-0400 [MODE LOG] Rec:'#A=1889288,FIG=18882734772,VA=772663777,T=334.2#\r\n'
    2013-07-20 08:55:27-0400 [MODE LOG] Rec:'#A=1887283,FIG=18882732730,VA=772663777,T=335.0#\r\n'
    2013-07-20 08:58:11-0400 [MODE LOG] Rec:'#A=1887283,FIG=18882734772,VA=772663777,T=335.4#\r\n'
    2013-07-20 08:48:14-0400 [MODE LOG] Tas:'#STOPPED#\r\n'

与:

grep Rec STOM.log | grep 1887283 | grep 2013-07 | wc -c

我可以从 7 月获取 A=1887283 记录的字节数。

但我真的只需要从 ' ' 之间的字符串中获取总字节数,
例如:'#A=1887283,FIG=18882734772,VA=772663777,T=335.4#\r\n'

我怎样才能以最好的方式做到这一点?我只能使用 unix 工具来做还是需要脚本语言?谢谢。

最佳答案

把你的命令改成这个

grep Rec STOM.log | grep 1887283 | grep 2013-07 | grep -oh "'.*'" | wc -c

输出

165

'.*' 是一个正则表达式,它将匹配 ''

之间的所有字符

关于python - 按行计算匹配某些规则的两个字符之间的大文件中的总字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19790444/

相关文章:

node.js - 从node.js调用sh脚本

bash:使用 set -e 运行脚本(errexit)

Python pandas从一列字符串的数据选择中过滤掉nan

linux - 从各种文件夹中获取所有文件并使用唯一名称复制它们

linux - 用于从串行通信写入和读取数据的 Shell 脚本

php - 干预/图像需要 FileInfo

file - 仅对文件的一列进行排序

python - 使用 BeautifulSoup 导航

python - ------/------ 或 123456/123456 可选字符的正则表达式

python django 减去时间字段