Que tal:
while read code device state junk; do
if [[ $code == $message ]]; then
echo "Translated: $device-$state"
fi
done <CODE-LIST.txt
Usar processos extras (ou seja, bifurcar o awk toda vez) diminuirá muito a velocidade. read lerá vários campos, separados por $IFS (o valor padrão é todo o espaço em branco). A última variável listada receberá o restante da linha, se houver.
Estou apenas me perguntando de onde $message deve vir. Fora do snippet de código, talvez?
EDITAR:
Se a parte do código ocorrer apenas uma vez na entrada, você poderá break sair do loop assim que for encontrado; que também acelerará as coisas.