디렉토리내 전체 파일을 얻어낸 뒤(압축까지 해제) 스트링을 검색하여 파일에 저장
하드코딩된 스트링을 찾기위해서 막 만든거임.
import os import sys import base64 FILE_LIST=[] tmpFile = "result.txt" def USAGE(): print "python findStr.py [path] [string]" def init(): if os.path.exists(tmpFile): os.unlink(tmpFile) def makeFileList( dirname ): for (path,dir,files) in os.walk(dirname): for filename in files : ext = os.path.splitext(filename)[-1] full_filename = path+"/"+filename FILE_LIST.append(full_filename) if ext.find("tar.gz") > -1 : os.system("tar xvfz %s -C %s 1>/dev/null" % ( full_filename, path )) elif ext.find("tar") > -1 : pass; os.system("tar xvf %s -C %s 1>/dev/null" % ( full_filename, path )) elif ext.find("zip") > -1 : os.system("unzip %s -d %s 1>/dev/null" %( full_filename, path )) else : pass def findStr(): fp = open(tmpFile,"a+") cmd1 = "grep -rn %s %s -A 5 " % (sys.argv[2] ,sys.argv[1]) cmd2 = "grep -rn %s %s -A 5 " % (base64.encodestring(sys.argv[2]) ,sys.argv[1]) stdData1 = os.popen(cmd1).read() stdData2 = os.popen(cmd1).read() if len(stdData1) >= len(sys.argv[2]) : fp.write(stdData1) if len(stdData2) >= len(sys.argv[2]) : fp.write(stdData2) fp.close() def main(): init() if (len(sys.argv) < 2): USAGE() sys.exit(1)
makeFileList( sys.argv[1] ) findStr() if __name__ == "__main__": main() |
'Python' 카테고리의 다른 글
dbus tree (0) | 2016.04.27 |
---|---|
httplib urllib2 를 이용해서 cookie (session) 값 유지한채로 통신하기 (0) | 2015.07.12 |
python iterator 관련itertools 패키지 및 메소드 정리 (0) | 2014.06.01 |
python string 관련 메소드 정리 (0) | 2014.06.01 |
[ Python 2.7 ] 키보드 마우스 후킹 ( Key Mouse Event hooking ) (0) | 2014.05.24 |