Проблемы Bluetooth в 18.04 LTS

Использование более поздних версий GNU grep (поставляется с Ubuntu) с опцией -z:

$ IFS=, arrayvar=( $(grep -Pzo '\s+VARIABLES\s+{\K[^}]+(?=})' temp1 | tr -d '[:space:]') )

$ echo "${arrayvar[0]}"
a9EventCode

$ echo "${arrayvar[1]}"
a9ControllerNumber

$ echo "${#arrayvar[@]}"
6
-z позволяет grep обрабатывать строки входного текста, разделенные ASCII NUL вместо новых строк, чтобы мы могли буквально соответствовать символам новой строки. Образец PCRE \s+VARIABLES\s+{\K[^}]+(?=}) будет соответствовать тексту внутри {}. Затем мы удалили пробелы (пробел, табуляцию, новую строку) с помощью tr -d '[:space:]'. Когда IFS установлен в ,, мы можем создать массив с запятой разделенные строки.
9
задан 1 May 2018 в 17:43

0 ответов

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

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