LUA从特定行读取文件到特定行

时间:2017-02-13 07:45:12

标签: file 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

*这个所有数据都不是同一个人和人

我想要做的是:

例如: 值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个字节,

对不起我的错误解释

1 个答案:

答案 0 :(得分: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