从行搜索Python搜索字符串然后打印几列

时间:2018-04-02 01:17:19

标签: python

包含100万条记录的大型文本文件

我想从文件中搜索匹配的字符串(例如2580552),并使用awk i捕获数据从第1,第5,第45和第46列的那些行字段打印,但需要在python中回答。 / p>

grep 2580552 /tmp/myfile.txt |awk -F'\t' '$5 == "2580552" {print $1","$5 $41","$46}'

THX, 西。

1 个答案:

答案 0 :(得分:0)

此代码可帮助我解决此问题。

#!/usr/bin/env python
import re
pattern = r'15686547'
with open('/tmp/some_junk_test.txt', 'rU') as fh:
    for line in fh:
        match = re.search(pattern, line)
        if match:
            a = line.split('\t')
            if str(a[4]) == pattern:
                print(a[0], a[4], a[40], a[45])
            else:
                print("Failed to find match % s" % pattern)`
相关问题