Format.lua

==dostounix ==
INPUT:<BR>
This library function required the following inputs/parameters.
* file contents
** Example: c = file:read("*a")
* String with EOL
OUTPUT:<BR>
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:<BR>
This library function required the following inputs/parameters.
* Path
** Example: /root/mynotes
OUTPUT:<BR>
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
== table_to_string ==
INPUT:<BR>
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:<BR>
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 ==
NOTE:
for cut functionality do something like <BR>
print(format.string_to_table(" ", "This is a test")[2]) <BR>
gives you the second field which is .... is 
INPUT:<BR>
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:<BR>
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
== cap_begin_word ==
INPUT:<BR>
This library required the following inputs/parameters.
* String
OUTPUT:<BR>
This library deliverers the following output/parameters.
* String with all first letters of words capitalized
CODING EXAMPLE:
 -- Set variable/Call for this library
 require "format"
 -- Grab the line from a file or input it into the function
 line = "The rain in spain stays mainly in the plain"
 -- Process the data (note the delimiter)
 print(format.cap_begin_word(line))
 --The Rain In Spain Stays Mainly In The Plain
== search_replace ==
INPUT:<BR>
This library required the following inputs/parameters.
* File path or Table
OUTPUT:<BR>
This library deliverers the following output/parameters.
* Table
CODING EXAMPLE:
 -- Set variable/Call for this library
 require "format"
 t = { "The man ran home", "See the man walk", "The man laughed"}
 print(format.search_replace(t, "[Th]he man", "The boy")[1])
 --The boy ran home
== search_for_lines ==
INPUT:<BR>
This library required the following inputs/parameters.
* File path or table
OUTPUT:<BR>
This library deliverers the following output/parameters.
* Table
** THIS WILL SEARCH FOR THE WHOLE LINE CONTAINING THE MATCH
CODING EXAMPLE:
 -- Set variable/Call for this library
 --say have file like /etc/conf.d/cron with CRON_OPTS="" or more will find them
 require "format"
 for a,b in ipairs(format.search_for_lines("/etc/conf.d/cron", "OPTS")) do print(a,b) end
== Expand Bash Syntax Vars ==
Expand a string with bash-like variables with lua variables
INPUT:<BR>
This library requires the following inputs/parameters.
* String
OUTPUT:<BR>
This library deliverers the following output/parameters.
* String
CODING EXAMPLE:
 animal = { cows=3, dogs=2 }
 print (expand_bash_syntax_vars ("You have ${animal.dogs} dogs"))
 
 You have 2 dogs
Category:Lua