@morvlad

Вывести часть строки по определенному условию?

Подскажите пожалуйста решение задачки.
Используя grep и awk не смог сделать, вероятно нужно регулярку составлять, у меня с этим сложности.

Есть текстовая строка в которой встречаются определенный ключевые слова, после которых есть текст заключенный в квадратные скобки. Внутри квадратных скобок могут быть цифры знаки буквы, в принципе не важно.
После нахождения слова, нужно вывести то что в этих скобках.
example:[123; 0.000; ""; "-"] example2:[456; 0.000; "";"-"]
P.S. Парсить по столбцам для меня не вариант, так как это большой текстовый файл и в нем столбцы идут не равномерно.

Заранее признателен за помощь!
  • Вопрос задан
  • 1023 просмотра
Решения вопроса 1
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Если правильно понял:
echo 'example:[123; 0.000; ""; "-"] example2:[456; 0.000; "";"-"] example3:[1hfgh; 0.000; ""; "-"] example:[123; 0.000; ""; "-"] example3:[2222; 0.000; ""; "-"]' \
| awk 'BEGIN{RS="]"} {print}' | grep example3 | grep  -o '\[.*' | sed 's/\[//'


1hfgh; 0.000; ""; "-"
2222; 0.000; ""; "-"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы