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

おすすめ記事