我有一个大文本文件,我想打开它并跳转到包含特定字符串的行。 我设法做的是跳转到特定的行号。
import os
os.system('sudo gedit +50 test.txt')
如何编辑代码以便搜索特定字符串而不是行号?
答案 0 :(得分:1)
您可以调用该行作为您在下一行中查找的文本的第一个出现位置:
gedit +$(grep -n "id" test.txt | head -n 1 | cut -f 1 -d ':') test.txt
此grep -n "text_to_find" test.txt | head -n 1 | cut -f 1 -d ':'
表示:
grep ...
告诉我所有行" test_to_find"和行号前缀head ...
:第一次出现cut ...
获取行号如果没有发生,你必须修理它
答案 1 :(得分:0)
你真的无法打开文件并直接跳到一条线上,而没有先做一些逻辑来计算那条线的位置。
这应该可以解决问题:
with open('test.txt', 'r') as myFile:
for line in myFile:
if 'My Search String Here' in line:
print line