Каков оптимальный способ извлечения значений между фигурными скобками в bash/awk?

У меня есть вывод в этом формате:

Infosome - infotwo: (29333) - data-info-ids: (33389, 94934)

Я хочу извлечь последние два числа в последней паре фигурных скобок. Иногда в последней паре фигурных скобок есть только одно число.

Это код, который я использовал.

echo "Infosome - infotwo: (29333) - data-info-ids: (33389, 94934)" | \
  tr "," " " | tr "(" " " | tr ")" " " | awk -F: '{print $4}'

Есть ли более чистый способ извлечения значений? или более оптимальный способ?

6
задан chepner 16 August 2012 в 02:01
поделиться