Python搜索字符串从第行匹配,然后打印几列
包含100万条记录的大型文本文件 我想从文件中搜索匹配的字符串(例如2580552),并使用awk从第1列、第5列、第45列和第46列的行字段中打印,我捕获数据,但需要python的答案Python搜索字符串从第行匹配,然后打印几列,python,Python,包含100万条记录的大型文本文件 我想从文件中搜索匹配的字符串(例如2580552),并使用awk从第1列、第5列、第45列和第46列的行字段中打印,我捕获数据,但需要python的答案 grep 2580552 /tmp/myfile.txt |awk -F'\t' '$5 == "2580552" {print $1","$5 $41","$46}' Thx, Sai。此代码帮助我解决问题 #!/usr/bin/env python import re pattern = r'156865
grep 2580552 /tmp/myfile.txt |awk -F'\t' '$5 == "2580552" {print $1","$5 $41","$46}'
Thx,
Sai。此代码帮助我解决问题
#!/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)`
堆栈溢出不是免费的代码编写服务。您说“需要python的答案”。那么是什么阻止你这么做?你安装了Python吗?你对Python有任何了解吗?你能用Python打开一个文件吗?是的,Python已经安装,我对Python有一定的了解,但我从未尝试过这个解决方案。以下是我尝试并找到的解决方案。#/usr/bin/env python,open(“/tmp/test.txt”,“r”)作为fname:for fname中的行:line=line.split()打印(第[2]行,第[6]行)或打印(第[2]行,第[-1]行)