2개의 파일을 읽고 일반적이지 않은 내용만 인쇄하는 스크립트

2개의 파일을 읽고 일반적이지 않은 내용만 인쇄하는 스크립트

2개의 파일을 비교하려고 합니다. 내용이 흔하지 않다면 답변드리고 싶습니다.

이것은 지금까지 내 코드입니다

#!/bin/bash


while IFS= read -r line && IFS= read -r line2 <&3; do
  
 if [ "$line" -ne "$line2" ]; then
    echo "we  doing this $line2"
    
  else
    echo "we will not  do this $line2"
  fi

done <file1test 3<file2test

내가 테스트하고 있는 각 파일의 내용은 단지 숫자일 뿐입니다. file1test는 1..10행에서 시작하고, file2test는 1..20행에서 시작합니다.

내 코드는 둘 다에 공통되는 1..10만 반영합니다.

답변1

제대로 작동하려면 상태 플래그를 사용하세요.

while IFS= read -r line
do
   
 
  status=0
  while IFS= read -r line2 <&3
  do

  if [ "$line" = "$line2" ]; then
     status=1
     break 
  fi
 
done 3< file1test
if [ "$status" != 1 ]; then
  echo "$line"
fi
done < file2test

관련 정보