Format.lua: Difference between revisions

From Alpine Linux
No edit summary
 
No edit summary
Line 10: Line 10:
'''CODING EXAMPLE:'''
'''CODING EXAMPLE:'''
  -- Include/Call for this library
  -- Include/Call for this library
  require("fs")
  require("format")
  -- file test.txt is from dos/windows
  -- file test.txt is from dos/windows
  require "fs"
  require "format"
  f = io.open("test.txt")
  f = io.open("test.txt")
  c = f:read("*a")
  c = f:read("*a")
  file = fs.dostounix(c)
  file = format.dostounix(c)
f:close()
  --file now contains the contents of test.txt without the \r char
  --file now contains the contents of test.txt without the \r char


Line 28: Line 29:
'''CODING EXAMPLE:'''
'''CODING EXAMPLE:'''
  -- Include/Call for this library
  -- Include/Call for this library
  require("fs")
  require("format")
  t = fs.remove_blanks_comments("/etc/shorewall/rules")
  f = io.open("/etc/shorewall/rules")
c = f:read("*a")
t = format.remove_blanks_comments(c)
f:close()
  -- t is a table with only pertinent lines
  -- t is a table with only pertinent lines


Line 46: Line 50:
'''CODING EXAMPLE:'''
'''CODING EXAMPLE:'''
  -- Include/Call for this library
  -- Include/Call for this library
  require("fs")
  require("format")
  t = fs.search_replace("/etc/shorewall/interfaces", "eth0", "eth1")
  f = io.open("/etc/shorewall/interfaces")
c = f:read("*a")
t = fs.search_replace(c, "eth0", "eth1")
f:close()
  --t will be a table that contains /etc/shorewall/interfaces with eth0 replaced as eth1
  --t will be a table that contains /etc/shorewall/interfaces with eth0 replaced as eth1


Line 59: Line 66:
'''CODING EXAMPLE:'''
'''CODING EXAMPLE:'''
  -- Include/Call for this library
  -- Include/Call for this library
  require("fs")
  require("format")
  t = { "eth0", "eth1", "lo"}
  t = { "eth0", "eth1", "lo"}
  fs.ipairs_string(t)
  format.ipairs_string(t)
  --will give you a table that can be writing one per line for a file.
  --will give you a table that can be writing one per line for a file.


Line 78: Line 85:
'''CODING EXAMPLE:'''
'''CODING EXAMPLE:'''
  -- Set variable/Call for this library
  -- Set variable/Call for this library
  require "fs"
  require "format"
  -- Create a array of data <span style="color:red">(Not sure if the next row is correct)</span>
  -- Create a array of data <span style="color:red">(Not sure if the next row is correct)</span>
  arraytojoin = { "Bird", "Fish", "Cow", "Hammer" }
  arraytojoin = { "Bird", "Fish", "Cow", "Hammer" }
  -- Process the data (note the delimiter)
  -- Process the data (note the delimiter)
  liboutput = fs.table_to_string(";", arraytojoin)
  liboutput = format.table_to_string(";", arraytojoin)
  Bird;Fish;Cow;Hammer
  Bird;Fish;Cow;Hammer


Line 98: Line 105:
'''CODING EXAMPLE:'''
'''CODING EXAMPLE:'''
  -- Set variable/Call for this library
  -- Set variable/Call for this library
  require "fs"
  require "format"
  -- Grab the line from a file or input it into the funtcion
  -- Grab the line from a file or input it into the funtcion
  line = "bobo~foo~bar~baz~1"
  line = "bobo~foo~bar~baz~1"
  -- Process the data (note the delimiter)
  -- Process the data (note the delimiter)
  t = fs.string_to_table("~", line)
  t = format.string_to_table("~", line)
  't' would contain:  
  't' would contain:  
  { 1 = "bobo", 2 = "foo", 3 = "bar", 4 = "baz", 5 = 1}
  { 1 = "bobo", 2 = "foo", 3 = "bar", 4 = "baz", 5 = 1}

Revision as of 18:54, 28 November 2007

dostounix

INPUT:
This library function required the following inputs/parameters.

  • file contents
    • Example: c = file:read("*a")
  • String with EOL

OUTPUT:
This library function deliverers the following output/parameters.

  • Output is returned minus the \r characters

CODING EXAMPLE:

-- Include/Call for this library
require("format")
-- file test.txt is from dos/windows
require "format"
f = io.open("test.txt")
c = f:read("*a")
file = format.dostounix(c)
f:close()
--file now contains the contents of test.txt without the \r char

remove_blanks_comments

INPUT:
This library function required the following inputs/parameters.

  • Path
    • Example: /root/mynotes

OUTPUT:
This library function deliverers the following output/parameters.

  • Returns a table to iterate over minus the blank and commented lines

CODING EXAMPLE:

-- Include/Call for this library
require("format")
f = io.open("/etc/shorewall/rules")
c = f:read("*a")
t = format.remove_blanks_comments(c)
f:close()
-- t is a table with only pertinent lines

search_replace

INPUT:
This library function required the following inputs/parameters.

  • Path to file
    • Example: /root/mynotes
  • Search
    • What to find
  • Replace
    • What to replace the found items with

OUTPUT:
This library function deliverers the following output/parameters.

  • Table

CODING EXAMPLE:

-- Include/Call for this library
require("format")
f = io.open("/etc/shorewall/interfaces")
c = f:read("*a")
t = fs.search_replace(c, "eth0", "eth1")
f:close()
--t will be a table that contains /etc/shorewall/interfaces with eth0 replaced as eth1

ipairs_string

INPUT:
This library function required the following inputs/parameters.

  • Table

OUTPUT:
This library function deliverers the following output/parameters.

  • String

CODING EXAMPLE:

-- Include/Call for this library
require("format")
t = { "eth0", "eth1", "lo"}
format.ipairs_string(t)
--will give you a table that can be writing one per line for a file.


table_to_string

INPUT:
This library required the following inputs/parameters.

  • Delimiter
    • Could be one or more chars.
  • Array
    • Data which is to be joined into a string.

OUTPUT:
This library deliverers the following output/parameters.

  • String
    • Could be something like "Word, Word, Word, Word"

CODING EXAMPLE:

-- Set variable/Call for this library
require "format"
-- Create a array of data (Not sure if the next row is correct)
arraytojoin = { "Bird", "Fish", "Cow", "Hammer" }
-- Process the data (note the delimiter)
liboutput = format.table_to_string(";", arraytojoin)
Bird;Fish;Cow;Hammer

string_to_table

INPUT:
This library required the following inputs/parameters.

  • Delimiter
    • Could be one or more chars.
  • String or line from a file: bobo~foo~bar~baz~1
    • Data is to be split into a table

OUTPUT:
This library deliverers the following output/parameters.

  • Table
    • { 1 = "bobo", 2 = "foo", 3 = "bar", 4 = "baz", 5 = 1}

CODING EXAMPLE:

-- Set variable/Call for this library
require "format"
-- Grab the line from a file or input it into the funtcion
line = "bobo~foo~bar~baz~1"
-- Process the data (note the delimiter)
t = format.string_to_table("~", line)
't' would contain: 
{ 1 = "bobo", 2 = "foo", 3 = "bar", 4 = "baz", 5 = 1}
for a,b in ipairs(t) do print(a,b) end
1 bobo
2 foo
3 bar
4 baz
5 1