想要检查数组的元素是否存在于文件的第一行

想要检查数组的元素是否存在于文件的第一行
while read line ;
 do
 if grep -q "${MYARRAY[$i]}" <<< "$line";
 then
  echo its present
  else
  echo its not
 fi
 i+=1
  done < keyans.txt

这里keyans.txt有所有答案,MYARRAY是一个包含用户答案的​​数组,我想比较数组的第一个元素是否存在于keyans.txt文件的第一行中,第二个元素是否存在于第二行中,依此类推,如果存在则显示是,否则显示否

答案1

在这种情况下,您几乎不需要计数。通过交换whilefor循环,我们可以执行以下操作,您可以根据需要进行修改。

for el in "${MYARRAY[@]}"
do
  if IFS= read -r line < keyans.txt
  then
    case $line in
      *"$el"*) echo Present ;;
            *) echo Not present
    esac
  else
    break
  fi
done

相关内容