readreallist

Table of Contents

Prototype: readreallist(filename, comment, split, maxentries, maxbytes)

Return type: rlist

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 : File name to read, in the range "?(/.*)
  • comment : Unanchored regex matching comments, in the range .*
  • split : Unanchored regex to split data, in the range .*
  • maxentries : Maximum number of entries to read, in the range 0,99999999999
  • maxbytes : Maximum bytes to read, in the range 0,99999999999

Example:

Prepare:

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:

bundle agent example_readreallist
{
  vars:
      "my_list_of_reals"
        rlist => readreallist( "/tmp/list.txt", # File to read
                              "^(\D+)",         # Ignore any non-digits
                              "\n",             # Split on newlines
                              inf,              # Maximum number of entries
                              inf );            # Maximum number of bytes to read

  reports:
      "my_list_of_reals includes '$(my_list_of_reals)'";
}
bundle agent __main__
{
  methods: "example_readreallist";
}

Output:

R: my_list_of_reals includes '1'
R: my_list_of_reals includes '2'
R: my_list_of_reals includes '3'
R: my_list_of_reals includes '1.0'
R: my_list_of_reals includes '2.0'
R: my_list_of_reals includes '3.0'

See Also: readstringlist(), readintlist()