readintlist
Table of contents
Prototype: readintlist(filename, comment, split, maxentries, maxbytes)
Return type: ilist
Description: Splits the file filename
into separated
values and returns the list.
The comment
field is a multiline regular expression and will strip out
unwanted patterns from the file being read, leaving unstripped characters to be
split into fields. Using the empty string (""
) indicates no comments.
Arguments:
filename
:string
- File name to read - in the range:"?(/.*)
comment
:string
- Regex matching comments - in the range:.*
split
:string
- Regex to split data - in the range:.*
maxentries
:int
- Maximum number of entries to read - in the range:0,99999999999
maxbytes
:int
- Maximum bytes to read - in the range:0,99999999999
Example:
Prepare:
code
printf "one\ntwo\nthree\n" > /tmp/list.txt
printf "1\n2\n3\n" >> /tmp/list.txt
printf "1.0\n2.0\n3.0" >> /tmp/list.txt
Run:
code
bundle agent example_readintlist
{
vars:
"my_list_of_integers"
ilist => readintlist( "/tmp/list.txt", # File to read
"^(\D+)|(\d+[^\n]+)", # Ignore any lines that are not integers
"\n", # Split on newlines
inf, # Maximum number of entries
inf); # Maximum number of bytes to read
reports:
"my_list_of_integers includes '$(my_list_of_integers)'";
}
bundle agent __main__
{
methods: "example_readintlist";
}
Output:
code
R: my_list_of_integers includes '1'
R: my_list_of_integers includes '2'
R: my_list_of_integers includes '3'
See also: readstringlist()
, readreallist()