A field-separator is inserted into input data by an adapter’s front end. When using input files, a field-separator is defined to replace a character of input such as a comma, colon, or a vertical bar (|). A field-separator represents a division of data that can include multiple words, integers, strings, and even end-of-line (eol). You can use fs to pattern match a field-separator, as described in “Field-separator translation” on page 131.
Do not confuse a field-separator with a delimiter. Even though a delimiter can be used to separate multiple words, it is best used as a word separator. A field-separator separates fields that can contain one or more words. Regardless of the value of the delimiting characters, a field-separator is implicitly defined as a delimiter.
For example, the following script matches a name and an address, which are separated by a field-separator. In the input, the field-separator is a colon (:). The name is assigned from one or more repeated words that come before the field-separator. The address is assigned from the repeated words that follow the field-separator.
The field-separator is defined when the adapter is run with the following option:
--field-separator
The input is parsed by the front end and the field-separator is placed into the data.
ASL Script (fs_match.asl): START { a:rep(word) fs b:rep(word) eol } do { print("Name ".a); print("Address ".b); } DEFAULT { ..eol } do { print("Failed match"); } Input (fs_match.txt): Jay Ray:11 Main St Jane Doe:34 Oak Dr Output: $ sm_adapter --field-separator=: --file=fs_match.txt fs_match.asl Name Jay Ray Address 11 Main St Name Jane Doe Address 34 Oak Dr $