2017-02-13 45 views
0

讀取文件我儘量讓LUA腳本讀取文件LUA從具體線路具體線路

的data.txt

1626363 NameA LastNameB 
42342344 NameC LastNameD 
345345 NameE LastNameF 
87978987 NameG LastName 
1626363 NameA LastNameB 
42342344 NameC LastNameD 
345345 NameE LastNameF 
87978987 NameG LastNameH 

*這一切數據不相同的ID和個人

我想要什麼嘗試做的是:

例如: 值A = < 1點字節的數據至60>

1626363 NameA LastNameB 
42342344 NameC LastNameD 
345345 N 

因此行3是不完全的數據,所以我想數據行1和2,並跳過第3行

1626363 NameA LastNameB 
42342344 NameC LastNameD 

值B將與第3行開始直到結束

345345 NameE LastNameF 
87978987 NameG LastName 
1626363 NameA LastNameB 
42342344 NameC LastNameD 
345345 NameE LastNameF 
87978987 NameG LastNameH 

的每一個值最大60字節,

對不起,我的壞解釋

+0

你不解釋你想讓你的腳本實際做什麼。輸出應該是什麼? –

+0

您對「完整數據」的定義是什麼? – tonypdmtr

回答

0

我不是確定你想要什麼。但回答的問題read file from specific line to specific line

local function skip_n_lines(f, n) 
    while f:read('*l') do 
    n = n - 1 
    if n == 0 then break end 
    end 
    return n 
end 

local function read_n_lines(f, n) 
    local t = {} 
    for i = 1, n do 
    local s = f:read('*l') 
    if not s then break end 
    t[#t + 1] = s 
    end 
    return t 
end 

local f = io.open('test.txt', 'rb+') 
if 0 == skip_n_lines(f, 12) then 
    local data = read_n_lines(f, 4) 
end