私の変数がなぜ混乱するのかはよくわかりませんが、原因は奇妙なようです。私はこの問題を小さなスクリプトに圧縮しました。
#!/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
答え1
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
3番目(存在する場合)フィールドと次のフィールドの両方を保存します。改行の間echo -e
。\n