Usar $(
executa um subshell, assim como o pipe |
. É melhor fazer todo o trabalho em um shell ou em um idioma.
Por exemplo faz todo o trabalho no awk:
awk '($11==500){print}' "$1"
Ou sem descascar:
while read -a columns ; do
[[ ${columns[10]} == 500 ]] && echo "${columns[@]}"
done < "$1"