Pythonでは、これは仕事をします:
#!/usr/bin/env python3
s = """How to get This line that this word repeated 3 times in THIS line?
But not this line which is THIS word repeated 2 times.
And I will get This line with this here and This one
A test line with four this and This another THIS and last this"""
for line in s.splitlines():
if line.lower().count("this") == 3:
print(line)
出力:
How to get This line that this word repeated 3 times in THIS line?
And I will get This line with this here and This one
または、ファイルを引数として、ファイルから読み込むには:
#!/usr/bin/env python3
import sys
file = sys.argv[1]
with open(file) as src:
lines = [line.strip() for line in src.readlines()]
for line in lines:
if line.lower().count("this") == 3:
print(line)
もちろん、「this」という単語は他の単語(または他の文字列や行セクション)に置き換えることができ、1行あたりの出現回数はその行の他の値に設定できます。
if line.lower().count("this") == 3:
編集する
ファイルが大きい場合(数十万/数百万行)、以下のコードはより高速になります。ファイルを一度に読み込むのではなく、1行ごとにファイルを読み取ります。
#!/usr/bin/env python3
import sys
file = sys.argv[1]
with open(file) as src:
for line in src:
if line.lower().count("this") == 3:
print(line.strip())