包含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, 西。
答案 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)`