#!/usr/bin/env python # filefinder.py # written by mgroman # arg 1 = the file or path # arg 2 = the keyword to search for # # the script will search arg 1 for arg 2 and print the line number and path of each # correct match import sys import os # get path path = sys.argv[1] keyword = sys.argv[2] files = [] print "searching for " + keyword + "..." if os.path.exists(path): # recursively get all files if os.path.isfile(path): print "its a file" files.append(path) else: print "its a path..." for root, dirs, files in os.walk(path): print "root => ", root print "dirs => ", dirs print "files => ", files print "\n\n" else: # wtf did they pass? print path + " is not a valid arg!" sys.exit(1); for file in files: line_count = 0 file_handle = open(file) for line in file_handle.readlines(): line_count += 1 if line.find(keyword) > 0: print line file_handle.close() print os.path.abspath(file) + " has " + str(line_count) + " lines!"