Bash: считайте значения из файла после маркеров

У меня есть файл, который выглядит примерно так:

Variable1 { value1 }
Variable2 { value2 }
...

Существует ли способ записать сценарий, который, по крайней мере, получает значения между "{}"?

Спасибо!

3
задан 3 April 2018 в 21:34

1 ответ

Можно сделать эту цель со многими инструментами как:

grep

grep -oP '(?<={ ).*(?= })' FILENAME

awk

awk -F '({ | })' '{print $2}' FILENAME

sed

sed 's/.*{ \(.*\) }/\1/' FILENAME

Все вышеупомянутые команды имеют вывод как это:

value1
value2

Также можно сохранить эти команды вывод в другой файл путем перенаправления или с tee команда.

Например:

grep -oP '(?<={ ).*(?= })' FILENAME > OUTPUT

Или:

grep -oP '(?<={ ).*(?= })' FILENAME | tee OUTPUT
4
ответ дан 1 December 2019 в 15:50

Другие вопросы по тегам:

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