lua跨平台文件夹遍历匹配查找

简介: require"lfs" --[[Desc:在B路径D文件中下 搜寻A路径下的没用到的C类文件;      并且将没用到的B类文件名称打印出来; 设置好路径拖到lua自带编辑器中即可运行之;]] --目标所在路径(A)(eg:png所在路径) PNG_FILE_PAT...
require"lfs"

--[[Desc:在B路径D文件中下 搜寻A路径下的没用到的C类文件;
      并且将没用到的B类文件名称打印出来;
设置好路径拖到lua自带编辑器中即可运行之;]]
--目标所在路径(A)(eg:png所在路径) PNG_FILE_PATH = "E:/Resource/images" --目标所寻路径(B)(eg:lua所在路径) LUA_FILE_PATH = "E:/Resource/scripts" --搜寻目标后缀config(C) SEARCH_TARGET = "%.png" --查找目标后缀config(D) FIND_TARGET = "%.lua" local pairs = pairs function findindir (path, wefind, r_table, intofolder, fileType) for file in lfs.dir(path) do if file ~= "." and file ~= ".." then local f = path..'/'..file local fname = file; if string.find(f, wefind) ~= nil then if fileType == "png" then table.insert(r_table, fname) --print(fname); elseif fileType == "lua" then table.insert(r_table, f) --print(f); end end local attr = lfs.attributes (f) assert (type(attr) == "table") if attr.mode == "directory" and intofolder then findindir (f, wefind, r_table, intofolder, fileType) else -- for name, value in pairs(attr) do -- print (name, value) -- end end end end end function isInIt( file,name ) for line in file:lines() do if isContain(line , name) then return true; end end return false; end function isContain( line , str ) return string.find(line , str); end ----[[ local pngFilePath = PNG_FILE_PATH local input_table_png = {} findindir(pngFilePath, SEARCH_TARGET , input_table_png, true, "png") -- "%.png$" print(#input_table_png); --]] ----[[ local luaFilePath = LUA_FILE_PATH local input_table_lua = {} findindir(luaFilePath, FIND_TARGET , input_table_lua, true, "lua") -- "%.lua$" print(#input_table_lua); --]] ----[[ local count = 0; for _,imageName in pairs(input_table_png) do local flag = 0 for _,fileName in pairs(input_table_lua) do local fileInfo = io.open(fileName,"r") if isInIt(fileInfo , imageName) then flag = 1; break; end end if flag == 0 then print("No Exist Image Name Is: "..imageName) count = count + 1; end end print("The File Count is:"..count); ----]]

lua文件lfs库可参见: http://keplerproject.github.io/luafilesystem/license.html

倾城之链 | NICE LINKS DJI Mavic Air
目录
相关文章
|
XML Java 数据格式
【Lua基础 第2章】lua遍历table的方式、运算符、math库、字符串操作方法
lua遍历table的方式、运算符、math库、字符串操作方法
656 0
【Lua基础 第2章】lua遍历table的方式、运算符、math库、字符串操作方法
|
索引
|
NoSQL Redis 数据库
阿里云Redis LUA脚本功能上线——轻量嵌入,极速扩展,业务轻松跨平台
阿里云Redis云数据库,全面支持LUA脚本功能,助力企业轻松迁移自建Redis数据库的业务逻辑,实现业务的跨平台复用,快速驱动业务上云。
8436 0
|
Windows
lua使用io.open跨平台文件夹遍历匹配查找
-- Desc :实现在LUA_PATH中的lua文件中遍历寻找没用到PNG_PATH路径下的png图片,并将其打印出来。 -- Date :12:49:28 2014-09-04 1 print("Lua Script Start") 2 3 function getFileName( path ) 4 len = string.
1350 0
|
5月前
|
存储 NoSQL Redis
Redis的Lua脚本有什么作用?
Redis Lua脚本用于减少网络开销、实现原子操作及扩展指令集。它能合并操作降低网络延迟,保证原子性,替代不支持回滚的事务。通过脚本,代码复用率提高,且可自定义指令,如实现分布式锁,增强Redis功能和灵活性。
184 1
|
4月前
|
消息中间件 NoSQL Java
Redis系列学习文章分享---第六篇(Redis实战篇--Redis分布式锁+实现思路+误删问题+原子性+lua脚本+Redisson功能介绍+可重入锁+WatchDog机制+multiLock)
Redis系列学习文章分享---第六篇(Redis实战篇--Redis分布式锁+实现思路+误删问题+原子性+lua脚本+Redisson功能介绍+可重入锁+WatchDog机制+multiLock)
206 0
|
27天前
|
存储 JSON Ubuntu
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
|
2月前
|
存储 NoSQL Redis
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
|
4月前
|
JSON 监控 数据格式
使用Lua代码扩展上网行为管理软件的脚本功能
本文介绍了如何使用Lua脚本增强上网行为管理,包括过滤URL、记录用户访问日志、控制带宽和自动提交监控数据到网站。Lua是一种轻量级语言,适合编写扩展脚本。文中提供多个示例代码,如URL过滤器、用户活动日志记录器和带宽控制器,帮助用户根据需求定制网络管理功能。通过这些示例,用户可以快速掌握Lua在上网行为管理中的应用。
150 4
|
4月前
|
NoSQL API Redis
使用Redis Lua脚本实现高级限流策略
使用Redis Lua脚本实现高级限流策略
155 0