Я пытаюсь разбить строки, разделенные ','
, за исключением случаев, когда ','
находится в подстроке, заключенной в скобки. Модифицируя другие решения здесь и примеры в документах, я попробовал этот тест:
awk -v FPAT='([^,]+)|(\([^\))+\))' '{
for (i=1; i<=NF; i++) {
printf("%s\n", $i)
}
}' <<< 'one two (1one), three four (3three, 4four), five six, seven eight, nine ten eleven (8ten)'
one
two
(1one),
three
four
(3three,
4four),
five
six,
seven
eight,
nine
ten
eleven
(8ten)
FPAT не переопределяет разделитель по умолчанию, как я ожидал. так ясно, что я что-то упускаю.
Вывод, который я хочу получить:
one two (1one),
three four (3three, 4four),
five six,
seven eight,
nine ten eleven (8ten)