查找文件夹下包含指定字符串的文件名字

查找文件夹下包含指定字符串的文件名字

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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值