Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File LUA从特定行到特定行读取文件_File_Lua - Fatal编程技术网

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

File LUA从特定行到特定行读取文件,file,lua,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 *这所有数据都不是相同的id和人员 我想尝试做的是: 例如: 值A

我试图让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=

所以第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字节


对不起,我的解释不好,我不知道你想要什么。但从一行到另一行读取文件的问题的答案是


你没有解释你想要你的脚本实际做什么。输出应该是什么?您对完整数据的定义是什么?
345345 NameE LastNameF
87978987 NameG LastName
1626363 NameA LastNameB
42342344 NameC LastNameD
345345 NameE LastNameF
87978987 NameG LastNameH
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