How to read from two files in the same time shell

file, printing, shell, unix

Solution

If you really want to read two files at the same time (which doesn't appear to be your actual question -- `join` is indeed the right tool for what you're doing), you can open them on different FDs:

while IFS= read -r -u 4 line1 && IFS= read -r -u 5 line2; do
  echo "Line from first file: $line1"
  echo "Line from second file: $line2"
done 4<file1 5<file2

Problem

I have two files, ``` 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 ``` What i want to do is create another file with only the persons who have in file A their average greater or equal with the 8.5 and in B their mark also greater or equal to 8.5, so in my example the C file would contain only Rox because only she fulfil the criteria. I have this ``` #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 ``` so I have in the temp.txt files the persons who fulfil the criteria for file A but my question is how can i compare them with the persons from filename2 and create "results" from them ? I've tried with two while loops but i get an error, could someone please help ? Thanks!

Original source