[Lua] 搜索文件夹下包含特定字符串的文件名称

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZJU_fish1996/article/details/74006770


        给自己写的一个小工具,为了便于在代码文件夹中,搜索包含特定字符串的文件名称,方便debug时查找一些功能。

        之所以用Lua是因为电脑上只有Lua,懒得安装别的了。

        在cmd中,和search.lua同一路径下,输入lua search.lua "你想要查找的字符串",文件夹名字可在代码中修改。


local lfs = require "lfs"
local io = require "io"
local string = require "string"

function SearchforStringInWhichFile (path,finddata)
    for file in lfs.dir(path) do
        if file ~= "." and file ~= ".." and file ~=".svn" then
            local f = path..'\\'..file
            local attr = lfs.attributes (f)
            assert (type(attr) == "table")
            if attr.mode == "directory" then
                SearchforStringInWhichFile(f,finddata)
			elseif attr.mode == "file" then
			    local file = io.open(f,"r")
				local data = file:read("*a")
				file:close()
				if string.find(data,finddata) ~= nil then
				    print(f)
				end
			end
        end
    end
	
end

for i, v in ipairs(arg) do
    if i == 1 then
	    find = v
	end
end

SearchforStringInWhichFile("D:\\code",find)


猜你喜欢

转载自blog.csdn.net/ZJU_fish1996/article/details/74006770
今日推荐