36 lines
813 B
Lua
36 lines
813 B
Lua
-- Assign script arguments and check validity
|
|
fileName = arg[1]
|
|
assert(fileName ~= nil, "Filename parameter missing!")
|
|
|
|
fileNameTemp = fileName .. ".tmp"
|
|
|
|
function trim(s)
|
|
return s:match'^%s*(.*%S)' or ''
|
|
end
|
|
|
|
-- Remove whitespace from file
|
|
lastline = nil
|
|
prevlen = 0
|
|
fo2 = io.open(fileNameTemp,'wb')
|
|
for line in io.lines(fileName) do
|
|
newline = trim(line)
|
|
if lastline ~= nil then
|
|
lastlen = string.len(lastline)
|
|
if lastlen ~= 0 then
|
|
fo2:write(lastline .. "\n")
|
|
elseif prevlen ~=0 and lastlen == 0 then
|
|
fo2:write("\n")
|
|
end
|
|
prevlen = lastlen
|
|
end
|
|
lastline = newline
|
|
end
|
|
if string.len(lastline) > 0 then
|
|
fo2:write(lastline .. "\n")
|
|
end
|
|
fo2:close()
|
|
|
|
-- Remove original and replace it by the file with whitespace removed
|
|
os.remove(fileName)
|
|
os.rename(fileNameTemp, fileName)
|