私は2つのファイルを持っています、
A
john 1 2 3 4 5 6 7
Ely 10 9 9 9 9 9 9
Maria 3 5 7 9 2 1 4
Rox 10 10 10 10 10 10 10
B
john 7.5
Ely 4.5
Maria 3,7
Rox 8.5
私がやりたいのは、ファイルAに8.5以上の平均を持ち、Bに8.5以上のマークを持っている人だけで別のファイルを作成することです。したがって、私の例では、CファイルにはRoxのみが含まれます。彼女だけが基準を満たしています。
私はこれを持っています
#shell program
echo "Fiserul are numele $1"
filename=$1
filename2=$2
echo "">temp.txt
touch results
compara="8.5"
cat $filename | while read -r line
do
nota=0
media=0
echo " $line"
rem=$( echo "$line"| cut -f 2- -d ' ')
for word in $rem
do
echo "$word"
nota=$(($nota+$word))
echo "Nota=$nota"
done
media=$(($nota / 7))
if [ "$(echo $media '>=' $compara | bc -l)" -eq 1 ];
then
nume=$( echo "$line"| cut -f 1 -d ' ')
echo "$nume $media" >> temp.txt
fi
echo "Media : $media"
done
cat $filename2 | while read -r line
do
temp.txtファイルにファイルAの基準を満たす人がいますが、私の質問は、それらをfilename2の人と比較して、それらから「結果」を作成するにはどうすればよいですか?2つのwhileループを試しましたが、エラーが発生しました。誰か助けてもらえますか?ありがとう!