Como apontado por @heemayl, o problema é que o IFS não trata a string inteira como o separador, ele trata cada caractere como um separador individual. awk
, no entanto, é capaz de usar uma string como um delimitador.
Por exemplo:
#!/bin/bash
while read -r key value
do
printf 'key %-7s val %s\n' "$key" "$value"
done < <(awk -F ':#:' '{print $1" "$2}' $FileName )
key f val 0
key c val Test C
key s val test S
key ctype val 0
key a val test A
key t val 10:02:03
key r val test r
key val
key f val 0
key c val Test C1
key s val test S1
key ctype val 1
key a val test A1
key t val 00:02:22
key r val test r
key val
key f val 20
key c val Test C
key s val test S
key ctype val 2
key a val test A1
key t val 00:02:03
key r val test r