Trong python, điều này sẽ làm công việc:
#!/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)
đầu ra:
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
Hoặc để đọc từ một tệp, với tệp là đối số:
#!/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)
Dán tập lệnh vào một tập tin trống, lưu nó dưới dạng find_3.py
, chạy nó bằng lệnh:
python3 /path/to/find_3.py <file_withlines>
Tất nhiên, từ "này" có thể được thay thế bằng bất kỳ từ nào khác (hoặc phần chuỗi hoặc dòng khác) và số lần xuất hiện trên mỗi dòng có thể được đặt thành bất kỳ giá trị nào khác trong dòng:
if line.lower().count("this") == 3:
Biên tập
Nếu tệp sẽ lớn (hàng trăm nghìn / triệu dòng), mã bên dưới sẽ nhanh hơn; nó đọc tệp trên mỗi dòng thay vì tải tệp cùng một lúc:
#!/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())