如何grep指定精确长度的记录

如何grep指定精确长度的记录

我们有一个在 UNIX 中包含 100000 条记录的文件。我们要过滤记录长度=1000的记录

如果我们的记录长度大于 1000,那么我们希望在最终的罚款中忽略这些记录。我尝试了下面的命令,但无法正常工作

grep -x '.\{1000,1000\}' File

答案1

您可以使用 awk 仅打印具有 1000 个字符的记录

awk 'length==1000' File

这完全等同于下面的

awk 'length($0)==1000{print $0}' File

默认情况下,当条件满足时,awk 将打印该行。

答案2

也许 Awk 通过这样做。

awk 'length($0) == 1000' file

答案3

python 中的解决方案。

#!/usr/bin/env python

f = open('filename.log', 'r')
for line in f:
    if len(line) > 1000:
        continue
    else:
        # do the stuff
f.close()

相关内容