Para almacenar la salida de un comando en una variable, use:
variable=$( commandFooBar )
Consulta AQUÍ
Estás mezclando dos operadores de shell diferentes.
El >
redirigir, redirigirá la salida a un archivo. Entonces, para que su ejemplo funcione, podría usar:
awk 'NR == 2 {print $3}' a.txt > price
cat price # display contents of file named price
El $
se refiere a una variable, por lo que para obtener su echo
para imprimir la variable, primero tendría que configurarla desde la salida de la anterior. Así:
price=$(awk 'NR == 2 {print $3}' a.txt)
echo "$price"