Как заменить строку в скобках с помощью sed

У меня есть следующая строка:

col1|col2|col3+++++++++++A|1|a B|2|b C|3|c D|4|d (3 rows) 

Я хочу разбить эту строку, чтобы удалить строку в начале до последнего символа +, а затем удалить хвост, который является (строки XYZ)

поэтому строка становится A|1|a B|2|b C|3|c D|4|d Теперь я хочу разбить эту строку на несколько массивов, которые выглядят так:

 A 1 a B 2 b C 3 c D 4 d 

так что я могу выполнять итерацию по каждой строке, используя цикл для выполнения некоторой обработки.

Как это сделать с помощью sed или grep?

Я пробовал это для первого прохода, но он не работал

 echo $string | sed 's/([0-9])rows//' | sed 's/[^+]//' 

но это не сработало.

По переменному расширению в bash:

 str="col1|col2|col3+++++++++++A|1|a B|2|b C|3|c D|4|d (3 rows)" str=${str% (*} str=${str##*+} str=${str// / } str=${str//|/ } 

Или sed

 sed 's/.*+\(.*\S\)\s\+(.*/\1/;y/ |/\n /' <<\eof col1|col2|col3+++++++++++A|1|a B|2|b C|3|c D|4|d (3 rows) eof A 1 a B 2 b C 3 c D 4 d 
 echo "col1|col2|col3+++++++++++A|1|a B|2|b C|3|c D|4|d (3 rows)" |sed -e 's/.*\++//; s/d .*/d/; s/|\(.\)|\(.\)\s*/ \1 \2\n/g' A 1 a B 2 b C 3 c D 4 d