跳转到txt文件中的特定行

时间:2015-12-09 15:11:33

标签: python linux

我有一个大文本文件,我想打开它并跳转到包含特定字符串的行。 我设法做的是跳转到特定的行号。

import os
os.system('sudo gedit +50 test.txt')

如何编辑代码以便搜索特定字符串而不是行号?

2 个答案:

答案 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 ':'表示:

  1. grep ...告诉我所有行" test_to_find"和行号前缀
  2. head ...:第一次出现
  3. cut ...获取行号
  4. 如果没有发生,你必须修理它

答案 1 :(得分:0)

你真的无法打开文件并直接跳到一条线上,而没有先做一些逻辑来计算那条线的位置。

这应该可以解决问题:

with open('test.txt', 'r') as myFile:
    for line in myFile:
        if 'My Search String Here' in line:
            print line

您可能还想看一下:https://docs.python.org/2/library/linecache.html