Подскажите пожалуйста решение задачки.
Используя grep и awk не смог сделать, вероятно нужно регулярку составлять, у меня с этим сложности.
Есть текстовая строка в которой встречаются определенный ключевые слова, после которых есть текст заключенный в квадратные скобки. Внутри квадратных скобок могут быть цифры знаки буквы, в принципе не важно.
После нахождения слова, нужно вывести то что в этих скобках.
example:[123; 0.000; ""; "-"] example2:[456; 0.000; "";"-"]
P.S. Парсить по столбцам для меня не вариант, так как это большой текстовый файл и в нем столбцы идут не равномерно.
Рассматривал такой вариант, но к сожалению в моем случае FreeBSD, -P там не работает.
В linux все норм:
% grep -Po '(?<=example1:|example2:|example:)\s*\[[^]]*?\]\s*' test1
[123; 0.000; ""; "-"]
[456; 0.000; "";"-"]
man grep
-P, --perl-regexp
Interpret PATTERN as a Perl regular expression. This option is
not supported in FreeBSD.