Я читаю строку данных в этой форме:
KEYNAME:value,KEYNAME:value,KEYNAME:value
(обратите внимание, ключи - это строки без пробелов, а значения - целые числа)
Мне нужно выбрать некоторые конкретные ключи (беззная их относительные позиции) и печатая их значения в отдельных строках:
value
value
value
До сих пор я пришел к чему-то вроде преобразования строки ввода в несколько ключей KEY: строки значений, выделение нужных мне клавиш, наложение известного порядкаи, наконец, пропустив это снова через cut, чтобы удалить ключевую часть:
sed 's/,/\n/g' | egrep '(FooKey|BarKey|BazKey)' | sort | cut -d':' -f2
Я думал, что смогу что-то упорядочить с помощью awk, из которых я просто знаю основы, но я могу управлять полями только по их позиционному порядкуне по имени (ключевому имени).
Может быть сделано с другими языками (например, Python или Perl), но я воспринимаю это как упражнение, чтобы делать все с помощью обычных инструментов оболочки.Кроме того, я бы все же предпочел вышеуказанные решения загрузке большего интерпретатора, такого как python или perl.