Format.lua: Difference between revisions
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(" | require("format") | ||
-- file test.txt is from dos/windows | -- file test.txt is from dos/windows | ||
require " | require "format" | ||
f = io.open("test.txt") | f = io.open("test.txt") | ||
c = f:read("*a") | c = f:read("*a") | ||
file = | 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(" | 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 | -- 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(" | 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 | --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(" | require("format") | ||
t = { "eth0", "eth1", "lo"} | t = { "eth0", "eth1", "lo"} | ||
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 " | 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 = | 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 " | 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 = | 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