Я пытаюсь запустить следующую команду в KornShell (ksh):
set -A INDEXES `db2 "describe indexes for table ${TABSCHEMA}.${TABNAME} show detail" | awk '{print $1"."$2}'`
То, чего я пытаюсь добиться, - это поместить список индексов для определенной таблицы в массив, который я позже смогу перебрать.
Проблема в том, что когда я запускаю указанную выше команду, содержимое массива начинается с сообщения об ошибке «SQL1024N» (которое говорит мне, что соединение с базой данных не существует).
Однако, если я удалю awk
в конце оператора, то так:
set -A INDEXES `db2 "describe indexes for table ${TABSCHEMA}.${TABNAME} show detail"`
он работает просто отлично (ну, если он возвращает данные. Очевидно, что без awk
я не собираю правильные данные).
Кто-нибудь знает, почему awk
оказывает это влияние?
Я ценю, что есть несколько способов получить эти данные, но это сбивает с толку меня, почему это происходит.
Заранее спасибо.