lua语言测试

来源:互联网 发布:亚威数控冲床编程软件 编辑:程序博客网 时间:2024/06/06 04:53
local ldd_file="/wyf/test/tmp_lib/ldd_tmp"


local count=0
local lib_num=0


local read_lib_txt_size=0
function create_lib_file()
local file=io.open("/wyf/test/tmp_lib/output_lib.txt","r")

if file == nil then
print("open file fail")
return 
end

file:seek("set",read_lib_txt_size)
while true do
local line=file:read() 
if line == nil then
print("read all line in lib.txt")
break
end

local file_lib=string.format("%s%d",ldd_file,count)


local cmd = "ldd "..line.." > "..file_lib

print("cmd is [["..cmd.."]]")

os.execute(cmd)

count = count+1
print("count = "..count)
sort_lib(file_lib)
end
file:close()


end



function sort_lib(ldd_file)
print("sort lib file begin: "..ldd_file)
local file=io.open(ldd_file,"r")
if file== nil then
print("open "..ldd_file.."fail")
return 
end

local file2=io.open("/wyf/test/tmp_lib/output_lib.txt","a+")
if file2 == nil then 
print("open ".."/wyf/test/tmp_lib/lib.txt".."fail")
return
end

read_lib_txt_size= file2:seek("end")
file2:seek("set")

local line = file:read()
local pos =1
while line do
size=file2:seek("end")
--print("size = ",size)
file2:seek("set")
       lib_all = file2:read(size)

local d2 = string.match(line,"/%w+/.+")
--print("d2 = :[["..d2.."]]")
if d2 then
--print(lib_all)
a,b=string.find(lib_all, string.sub(d2, 1, -14), 1, true)
--print("[["..string.sub(d2,1,-14).."]]")

--print("a, b = ",a,b)
if a == nil  then 
--print("[["..string.sub(d2,1,-14).."]]")
lib_num = lib_num + 1
print("Add lib:"..string.sub(d2,1, -14))
print("lib_num="..lib_num)
file2:write(string.sub(d2,1,-14))
file2:write('\n')
file2:flush()
end
end

line=file:read()
--print(line)
end
file:close()
file2:close()
print("sort lib file over")
create_lib_file()
return  nil
end


local input_file=arg[1]
input_file=string.format("ldd %s > /wyf/test/tmp_lib/ldd.txt",input_file)
print("input_file:"..input_file)
os.execute(input_file)


local output_lib_txt= "/wyf/test/tmp_lib/output_lib.txt"
print("lib_txt name is:"..output_lib_txt)
local lib_txt=string.format("echo 0 > %s",output_lib_txt)
os.execute(lib_txt)




sort_lib("/wyf/test/tmp_lib/ldd.txt")
--sort_lib("/wyf/test/tmp_lib/ldd_tmp4")


local rm_ldd_tmp="rm /wyf/test/tmp_lib/ldd*"
os.execute(rm_ldd_tmp)

原创粉丝点击