Как указывает @heemayl, проблема в том, что IFS не обрабатывает всю строку как разделитель, а обрабатывает каждый символ как отдельный разделитель. awk
, однако, может использовать строку в качестве разделителя.
Например:
#!/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