查找文件夹下包含指定字符串的文件名字
1. shell 命令
grep -n "stringname" -r path 该命令即可完成
2.python
<span style="font-size:18px;">#############################################################
#author:wanglin
#date:16.03.2014
#readme: the script used to find which file include the given
# string,which in aimStringList,then list the filename
#
#############################################################
#!/usr/bin/evn python
import os,sys
#give the string list which want to find
searchPath='/home/wln/pgxc/postgres-xc-1.2.0_beta/src'
aimStringList = ['malloc(']
global boolPrintPath
global fileNo
boolPrintPath = False
fileNo = 1
notIncludeFolders=['man','bak']
##
# function getIncludeStringFileName(path): find which file include the given
# string list,then print them
##
def getIncludeStringFileName(path):
global boolPrintPath,fileNo
boolPrintPath = False
fileList = os.listdir(path)
for item in fileList:
if(os.path.isfile(path+'/'+item)):
fdFile = open(path+'/'+item)
fileContent = fdFile.read()
for strItem in aimStringList:
if strItem in fileContent:
print str(fileNo) + ' ' * (10-len(str(fileNo)))+item
fileNo = fileNo + 1
boolPrintPath = True
break
fdFile.close()
if boolPrintPath == True:
print path + '\n'
for item in fileList:
pathNew = path + '/' + item
if(os.path.isdir(pathNew)):
needRun=True
for itm in notIncludeFolders:
if itm in pathNew:
needRun=False
break
if needRun==True:
getIncludeStringFileName(pathNew)
##
# main()
#
if __name__ == '__main__':
getIncludeStringFileName(searchPath)</span>