Fs.lua: Difference between revisions
(→find) |
|||
Line 204: | Line 204: | ||
liboutput = fs.table_to_string(";", arraytojoin) | liboutput = fs.table_to_string(";", arraytojoin) | ||
Bird;Fish;Cow;Hammer | Bird;Fish;Cow;Hammer | ||
===string_to_table === | |||
'''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 "fs" | |||
-- 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 = fs.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 |
Revision as of 15:42, 28 November 2007
is_dir
INPUT:
This library function required the following inputs/parameters.
- Path to directory
- Example: /var/log/snort
OUTPUT:
This library function deliverers the following output/parameters.
- nil or "directory"
- If inputstring is a existing directory, the output is "directory" (not nil)
CODING EXAMPLE:
-- Include/Call for this library require("fs") -- Check if url is a folder liboutput = fs.is_dir("/var/log/snort")
If directory exist 'liboutput' would contain string:
directory
In directory is missing 'liboutput' would contain nil (nothing).
is_file
INPUT:
This library function required the following inputs/parameters.
- Path to file
- Example: /var/log/messages
OUTPUT:
This library function deliverers the following output/parameters.
- nil or "file"
- If inputstring is a existing file, the output is "file" (not nil)
CODING EXAMPLE:
-- Include/Call for this library require("fs") -- Check if url is a file liboutput = fs.is_file("/var/log/messages")
If file exist 'liboutput' would contain string:
file
In file is missing 'liboutput' would contain nil (nothing).
is_link
INPUT:
This library function required the following inputs/parameters.
- Path to link
- Example: /etc/rcL.d/S50sshd
OUTPUT:
This library function deliverers the following output/parameters.
- nil or "file"
- If inputstring is a existing file, the output is "file" (not nil)
CODING EXAMPLE:
-- Include/Call for this library require("fs") -- Check if url is a file liboutput = fs.is_link("/etc/rcL.d/S50sshd")
If file exist 'liboutput' would contain string:
file
In file is missing 'liboutput' would contain nil (nothing).
read_file / read_file_as_array
INPUT:
This library function required the following inputs/parameters.
- Path to file
- Example: /var/log/messages
OUTPUT:
This library function deliverers the following output/parameters.
- Filecontent
- The filecontent is presented as a string (output comes as a table if 'read_file_as_array' is used)
CODING EXAMPLE:
-- Include/Call for this library require("fs") -- Get filecontent liboutput = fs.read_file("/var/log/messages")
'liboutput' could contain something like:
Nov 6 13:17:01 inspiron /USR/SBIN/CRON[21751]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Nov 6 13:43:31 inspiron -- MARK --
CODING EXAMPLE (read_file_as_array):
If 'read_file_as_array' is used, you could do something like this see the output:
for a,b in ipairs(liboutput) do print(a,b) end
The output would look something like:
1 Nov 6 13:17:01 inspiron /USR/SBIN/CRON[21751]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) 2 Nov 6 13:43:31 inspiron -- MARK --
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("fs") -- file test.txt is from dos/windows require "fs" f = io.open("test.txt") c = f:read("*a") file = fs.dostounix(c) --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("fs") t = fs.remove_blanks_comments("/etc/shorewall/rules") -- 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("fs") t = fs.search_replace("/etc/shorewall/interfaces", "eth0", "eth1") --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("fs") t = { "eth0", "eth1", "lo"} fs.ipairs_string(t) --will give you a table that can be writing one per line for a file.
write_file
INPUT:
This library function required the following inputs/parameters.
- Path to file
- Example: /root/mynotes
- String
- Content that should be written to file
OUTPUT:
This library function deliverers the following output/parameters.
- Output is written to file
- The content of the inputstring is written to the file.
- Data is not appended to file
CODING EXAMPLE:
-- Include/Call for this library require("fs") -- Write to file fs.write_file("/var/log/messages", "Hello World!")
find
Lets you search for dir entries matching filespec.
Could be compared to 'find / -type d | grep tmp' (not sure)
INPUT:
This library function required the following inputs/parameters.
- SearchString
- This string is what we are searching for in the dirnames.
- Path
- This path is where we start searching
- Search is recursive (not sure)
OUTPUT:
This library function deliverers the following output/parameters.
- SearchResult
- The SearchResult as a table (array)
CODING EXAMPLE:
-- Include/Call for this library require("fs") -- Search for dir liboutput = fs.find("tmp", "/")
You could do something like this see the output:
for a,b in ipairs(liboutput) do print(a,b) end
The output would look something like:
1 /usr/tmp 2 /usr/tmp/apk_add
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 "fs"
-- 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 = fs.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 "fs" -- 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 = fs.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