我很难理解为什么我无法进入我读取j循环的时候。我的程序的目标是输入文件1-5并计算每个文件中的数字总和。我得到的输出显示执行了读取j行,但是没有输入while循环。这对我来说没有直观意义,因为如果读取该行,则while条件将成立。下面是输出和下面的程序片段:
in for loop
file1
in for loop
1 9 6 3 3 6
file2
in for loop
1 3 7 6 4 4
file3
in for loop
1 4 8 8 2 4
file4
in for loop
1 5 9 9 1 7
file5
代码:
for (( n=0;n<$columns;n++ ))
do
echo "in for loop"
echo $j
filename="file$counter"
echo "$filename"
#while reading line from current file, take the numbers and find the sum
while read j
do
echo "in while loop"
for number in $j
do
sum=$(($sum + $number))
done
echo "Sum: $sum"
done < $filename
counter=$(($counter + 1))
done
答案 0 :(得分:0)
解决方案:在每个文件的行尾添加换行符,读取查找换行符以识别行。