Если бы я использовал Python, я бы использовал dict.Если бы я использовал Perl, я бы использовал хеш.Но я использую оболочку Unix.Как реализовать таблицу постоянных сопоставлений в текстовом файле, используя инструменты оболочки ?
Мне нужно просмотреть записи сопоставления на основе строкового ключа и запросить одно из нескольких полей для этого.key.
Unix уже имеет разделенные двоеточиями записи для отображений, таких как системная таблица passwd
, но, похоже, не существует инструмента для чтения произвольных файлов, отформатированных таким образом.Поэтому люди прибегают к:
key=foo
fieldnum=3
value=$(cat /path/to/mapping | grep "^$key:" | cut -d':' -f$fieldnum)
, но это довольно скучно.Конечно, мне не нужно создавать функцию для этого? Разве это колесо не было изобретено и реализовано в стандартном инструменте?