Как сопоставить поле = значение в файле с Awk? - PullRequest
0 голосов
/ 19 марта 2020

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

[ Field1 = Value1 ][ Field2 = Value2 ][ Field3 = Value3 ]

Однако ИНОГДА поля переупорядочиваются и перемещаются в другой столбец, т. Е. Field3 может оказаться в 5-м столбце, например следующим образом:

[ Field1 = Value1 ][ Field5 = Value5 ][ Field9 = Value9 ][ Field2 = Value2 ][ Field3 = Value3 ]

Я хотел бы извлечь Value3 из Field3, однако я не могу предсказать, в каком столбце будет Field3.

Есть ли способ для меня извлечь Value3 сопоставляя "Field3 ="?

Я не могу понять, как это сделать с Awk. Пожалуйста, помогите!

Спасибо!

1 Ответ

0 голосов
/ 21 марта 2020
sed  's#.*\( *Field3.*\)\].*#\1#' | cut -d'=' -f2

Демо:

$echo "[ Field1 = Value1 ][ Field5 = Value5 ][ Field9 = Value9 ][ Field2 = Value2 ][ Field3 = Value3 ]" |  sed  's#.*\( *Field3.*\)\].*#\1#' | cut -d'=' -f2
 Value3 
$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...