A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.cfengine.com/latest/reference-functions-data_readstringarrayidx.html below:

data_readstringarrayidx - CFEngine 3.26 Docs

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

Return type: data

Description: Returns a data container (array) with up to maxentries fields from the first maxbytes bytes of file filename.

One dimension is separated by the regex split, the other by the lines in the file. The array arguments are both integer indexes, allowing for non-identifiers at first field (e.g. duplicates or names with spaces), unlike data_readstringarray().

The comment field 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:

Example:

Prepare:

code

echo a,b,c > /tmp/cfe_array
echo "# This is a comment" >> /tmp/cfe_array
echo d,e,f >> /tmp/cfe_array
echo g,h,i >> /tmp/cfe_array
echo "# This is another comment" >> /tmp/cfe_array
echo j,k,l >> /tmp/cfe_array

Run:

code

body common control
{
      bundlesequence => { "example" };
}

bundle agent example
{
  vars:
      # The comment regex warrents an explination:
      # # matches the character # literally
      # [^\n]* match a single character not including the newline character
      # between zero and unlimited times, as many times as possible
      "bykey" data => data_readstringarray("/tmp/cfe_array","#[^\n]*",",",10,400);
      "byint" data => data_readstringarrayidx("/tmp/cfe_array","#[^\n]*",",",10,400);

      "bykey_str" string => format("%S", bykey);
      "byint_str" string => format("%S", byint);
  reports:
      "By key: $(bykey_str)";
      "specific element by key a, offset 0: '$(bykey[a][0])'";
      "By int offset: $(byint_str)";
      "specific element by int offset 2, 0: '$(byint[2][0])'";

}

Output:

code

R: By key: {"a":["b","c"],"d":["e","f"],"g":["h","i"],"j":["k","l"]}
R: specific element by key a, offset 0: 'b'
R: By int offset: [["a","b","c"],["d","e","f"],["g","h","i"],["j","k","l"]]
R: specific element by int offset 2, 0: 'g'

See also: data_readstringarray(), data

History:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4