Почему Awk портит мои переменные скрипта

Я действительно не знаю, почему мои переменные портятся, но я подозреваю, что причина в awk. Я сократил эту проблему до небольшого сценария:

#!/usr/bin/env bash QUE_FILE="/mnt/drive4-4/private/queue2.txt" t1="$(cat "$QUE_FILE")" echo "$t1" echo "============" echo "$t1" | while read i; do a1="$(echo "$i" | awk '{print $1}')" a2="$(echo "$i" | awk '{print $2}')" echo "a1 $a1 - a2 $a2" combined="$a1 $a2 11111111111" echo "combined $combined" done 

И вывод:

 AA BB CC DD EE ============ a1 AA - a2 BB combined AA BB 11111111111 a1 DD - a2 EE 11111111111EE 

Последняя строка должна быть:

 combined DD EE 11111111111 

 while read A1 A2 REST; do echo -e "a1 $A1 - a2 $A2 \ncombined $A1 $A2 111111" ; done < /mnt/drive4-4/private/queue2.txt 

Различие состоит в том, что awk печатает последнее в поле строки с «концом строки», в то время как read AA BB CC сохраняет определенные поля без «конца строки». REST сохраняет третье (если есть) и все последующие поля. В echo -e \n переносится на новую строку.