У меня есть текстовый файл (назовем его keywords.txt
), который содержит несколько строк, разделенных символами новой строки (хотя это не указано в камне; я могу разделить их пробелами, запятыми или чем-то еще наиболее подходящий). У меня также есть ряд других текстовых файлов (которые я в совокупности назову input.txt
).
Что я хочу сделать, так это перебрать каждую строку в input.txt
и проверить, содержит ли эта строка одно из ключевых слов. После этого, в зависимости от того, с каким входным файлом я сейчас работаю, мне нужно будет либо скопировать совпадающие строки в input.txt
в output.txt
и игнорировать несовпадающие строки, либо скопировать несовпадающие строки и игнорировать сопоставление.
Я искал решение, но, хотя я нашел способы сделать части того, что я пытаюсь сделать, я не нашел способа сделать все, что я прошу здесь. Несмотря на то, что я мог попытаться объединить различные решения, которые я нашел, моя главная проблема заключается в том, что я в конечном итоге задаюсь вопросом, будет ли то, что я кодировал, лучшим способом сделать это.
Это фрагмент того, что у меня есть в keywords.txt
:
google
adword
chromebook.com
cobrasearch.com
feedburner.com
doubleclick
foofle.com
froogle.com
gmail
keyhole.com
madewithcode.com
Вот пример того, что можно найти в одном из моих input.txt
файлов:
&expandable_ad_
&forceadv=
&gerf=*&guro=
&gIncludeExternalAds=
&googleadword=
&img2_adv=
&jumpstartadformat=
&largead=
&maxads=
&pltype=adhost^
В этом фрагменте &googleadword=
- единственная строка, которая будет соответствовать фильтру, и в моем случае есть сценарии, в которых output.txt
либо вставит только совпадающую строку, либо каждую строку, которая не соответствует ключевым словам.