このシェルスクリプトを実行しています。
#!/bin/sh
for line in `cat file.txt`
do
Am=`echo $line| awk '{print $1}'`
Bm=`echo $line| awk '{print $2}'`
#my command Am +Bm.......
done
私は最初の行でこれを得ます。
+ cat file.txt
+ echo A
+ awk {print $1}
+ AM=A
+ echo A
+ awk {print $2}
+ Bm=
ご覧のとおり、Bm値を取得できません。
$ cat file.txt
A 19
B 81
C 76
D 31
$ awk '{print $2}' file.txt
19
81
76
31
$ awk '{print $1}' file.txt
A
B
C
D
ベストアンサー1
for line in $(cat file.txt)
ファイル内の各globは1つずつ繰り返されます。送信された入力にはawk
入力列が1つしかないため、$2
常に空です。