#!/usr/bin/env luajit local chapters = 27 local start = { "Introduction", } local finish = { } local list = {} for _, section_name in ipairs(start) do list[#list + 1] = "file '" .. section_name .. ".m4a'" end for i = 1, chapters do list[#list + 1] = "file 'Chapter " .. i .. ".m4a'" end for _, section_name in ipairs(finish) do list[#list + 1] = "file '" .. section_name .. ".m4a'" end local file = io.open("list.txt", "w") file:write(table.concat(list, "\n")) file:write("\n") file:close() os.execute("ffmpeg -safe 0 -f concat -i list.txt -c copy audiobook.m4a") os.execute("mv audiobook.m4a audiobook.m4b") os.execute("rm list.txt")