【发布时间】:2021-07-28 19:43:19
【问题描述】:
import os
f1 = open("/home/ace/Desktop/MB/shell_search/direct.txt",'r',encoding='UTF-8')
lines = f1.readlines()
lines = [line.strip() for line in lines]
for shell in lines:
os.system("cat IIS_W3C_Log.log | grep -i \"" + shell + "\" > "+shell+".txt")
-i 选项不起作用...您的代码有问题? 区分大小写字母。
如果在“shell”中遇到特殊字符(符号),代码会抛出错误。即使出现符号,如何防止错误发生?
【问题讨论】:
-
您将文件名搜索到文件本身?
-
顺便说一句,
grep期望给出一个正则表达式作为要评估的表达式。如果direct.txt不包含正则表达式,您可能需要类似grep -F的东西。 -
@foreaser,更好的minimal reproducible example 将解释破坏您的代码的特定示例输入的示例。如果问题是由字符串
-bash引起的,与由字符串foo[bar引起的问题是非常不同的(例如,第一个用grep的-e参数修复,后一个用-F参数,因为它们会导致两个完全不同的失败......并且这些失败都与-i没有任何关系。 -
我学到了一些新东西。我还是个初学者,还有很多东西要学。谢谢。
标签: python linux grep kali-linux